首页 > 编程知识 正文

java注解jsonpro(java注解json)

时间:2023-12-24 12:05:13 阅读:319780 作者:AVQW

本文目录一览:

java 解析json字符串格式 [{}]

你在哪里解析

1、Java类里面:JSONObject jsonObject = new JSONObject(str);

然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中

2、javascript:JSON.parse(str);

ie8(兼容模式),ie7和ie6没有JSON对象,不过提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;你可以在上获取到这个js,一般现在用json2.js。

ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

var c='{"name":"Mike","sex":"女","age":"29"}';

var cToObj=eval("("+str+")");

java 怎么解析jsonp字符串

public static void main(String[] args){

String temp="{'data':{'a':[{'b1':'bb1','c1':'cc1'},{'b2':'bb2','c2':'cc2'}]}}";

JSONObject jodata =JSONObject.fromObject(temp);

JSONObject joa =JSONObject.fromObject(jodata.get("data").toString());

JSONArray ja=JSONArray.fromObject(joa.get("a"));

for(int i=0;ija.size();i++){

JSONObject o=ja.getJSONObject(i);

if(o.get("b1")!=null){

System.out.println(o.get("b1"));

}

if(o.get("c1")!=null){

System.out.println(o.get("c1"));

}

if(o.get("b2")!=null){

System.out.println(o.get("b2"));

}

if(o.get("c2")!=null){

System.out.println(o.get("c2"));

}

}

}

注:要包含两个jar包ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.jar,jar包在附件中

java 如何解析JSON

一、JSON(JavaScriptObjectNotation)一种简单的数据格式,比xml更轻巧。Json建构于两种结构:1、“名称/值”对的集合(Acollectionofname/valuepairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。如:{“name”:”jackson”,“age”:100}2、值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组(array)如:{“students”:[{“name”:”jackson”,“age”:100},{“name”:”michael”,”age”:51}]}二、java解析JSON步骤A、服务器端将数据转换成json字符串首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:)然后将数据转为json字符串,核心函数是:publicstaticStringcreateJsonString(Stringkey,Objectvalue){JSONObjectjsonObject=newJSONObject();jsonObject.put(key,value);returnjsonObject.toString();}B、客户端将json字符串转换为相应的javaBean1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)publicclassHttpUtil{publicstaticStringgetJsonContent(StringurlStr){try{//获取HttpURLConnection连接对象URLurl=newURL(urlStr);HttpURLConnectionhttpConn=(HttpURLConnection)url.openConnection();//设置连接属性httpConn.setConnectTimeout(3000);httpConn.setDoInput(true);httpConn.setRequestMethod("GET");//获取相应码intrespCode=httpConn.getResponseCode();if(respCode==200){returnConvertStream2Json(httpConn.getInputStream());}}catch(MalformedURLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return"";}privatestaticStringConvertStream2Json(InputStreaminputStream){StringjsonStr="";//ByteArrayOutputStream相当于内存输出流ByteArrayOutputStreamout=newByteArrayOutputStream();byte[]buffer=newbyte[1024];intlen=0;//将输入流转移到内存输出流中try{while((len=inputStream.read(buffer,0,buffer.length))!=-1){out.write(buffer,0,len);}//将内存流转换为字符串jsonStr=newString(out.toByteArray());}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnjsonStr;}}2、获取javaBeanpublicstaticPersongetPerson(StringjsonStr){Personperson=newPerson();try{//将json字符串转换为json对象JSONObjectjsonObj=newJSONObject(jsonStr);//得到指定jsonkey对象的value对象JSONObjectpersonObj=jsonObj.getJSONObject("person");//获取之对象的所有属性person.setId(personObj.getInt("id"));person.setName(personObj.getString("name"));person.setAddress(personObj.getString("address"));}catch(JSONExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnperson;}publicstaticListgetPersons(StringjsonStr){Listlist=newArrayList();JSONObjectjsonObj;try{//将json字符串转换为json对象jsonObj=newJSONObject(jsonStr);//得到指定jsonkey对象的value对象JSONArraypersonList=jsonObj.getJSONArray("persons");//遍历jsonArrayfor(inti=0;i

用java解析json的时候程序没有报错,输出pro.MyJson@143bf3d,没有预期的json结构出来,是什么原因?

我下面引用的数据来自你上面给出的. 我看了你提供的代码,main方法中有些乱,主要是你不懂原理才显得很乱..........

这么说吧: 1 JSONObject.fromObject(obj) 是把obj对象转换成json字符串格式{key:value....} 格式. 2 JSONObject.toBean(json字符串 , 对象); 是将json字符串格式数据赋值给 你指定的集合对象或Java对象, 这里它会根据你给定的json字符串里面的key的名称去找MyJson对象中与之匹配的属性名称 然后就是利用反射机制给对象赋值了,这个你就不用管理,反正是json包来做的. 简而言之就是: json格式{key : value} 的key 去找java对象的属性名,然后赋值. 不懂再问吧,我就说到这里了. 重点是先理解原理,把原理先理解好了,再试着编码,这样才会 节约时间,提高效率. 这个json包无非干的就是 1把json字符串格式 转成 java 对象,也就把数据填入java对象中, 2 java 对象 转成 json字符串格式 罢了.

String json1 = "{'myId':2,'name':'onename','fun':'true'}";

JSONObject json = JSONObject.fromObject(json1);

System.out.println(json);

MyJson jo1 = (MyJson)JSONObject.toBean(json, MyJson.class);

System.out.println(jo1.getfun());

MyJson jo= new MyJson();

jo.setId(2);

jo.setName("onename");

jo.setfun("true");

JSONObject json11 = JSONObject.fromObject(jo);

System.out.println(json11);

java注解@RequestBody的接收类型可以用JSONObject吗

当然是可以使用JSONObject接收咯,但是一般不建议这么做,你这么做的你的代码可读性就非常的差了,后人接手你的代码,根本不知道你的前端传参有哪些,每个字段又是代表什么意思,想这么做无非就是懒得写实体想节省点时间,相信我,多写一个实体带来的收益远远大于你节省的那点时间,况且写一个实体类注释每个字段的意义花费不了几个时间的。

求高手 java 解析json数据

我用fastjson实现的,参考一下

package test;

import java.util.ArrayList;

import com.alibaba.fastjson.JSON;

public class TestJson {

public static void main (String[]args){

ArrayList al=new ArrayList();

al.add("str1");

al.add("str2");

al.add("str3");

al.add("str4");

al.add("str5");

String jsonString = JSON.toJSONString(al);

System.out.println(jsonString);

ArrayList list = (ArrayList) JSON.parseArray(jsonString, String.class); //String表示数据类型

for(int i=0;ilist.size();i++){

System.out.println(list.get(i));

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。