jsonobject,jsonobject转map的方法

http://www.itjxue.com  2023-01-14 00:29  来源:未知  点击次数: 

怎么判断jsonobjec为空

一共有三种方式。

创建JSONArray jsonarray=new JSONArray ();

方法一:判断对象是否为空 jsonarray!=null

方法二:JSONArray是集合、数组可以用jsonarray.length()0

方法三:jsonarray.toString()是否是“”空字符串,!“”.equals(jsonarray.toString())

一般用方法二就可以判断[]了,方法一和方法三结合使用。

请教关于JSONObject的用法

假设,这条数据,你定义个jsonobject来接受,那么解析res你只要jsonobject.getstring("res")就可以了 你要得到info,则 jsonobject.getjsonobject("info").getstring("id");同理得到name,num,楼主明白了不,不懂再问,我直接让你明白为止

java里的JSONObject作用是什么?什么时候用?

JsonObject 就是常说的 json。是一种重要的数据传输对象。其格式为{"key1":value1,"key2",value2....};key 必须是字符串。

因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。

通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。如果没有设置response.setContentType("application/json; charset=utf-8"); 则需要自己再js中进行解析。

扩展资料

Java中交互方式分为同步和异步两种:

同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。

区别:一个需要等待,一个不需要等待,在部分情况下,项目开发中都会优先选择不需要等待的异步交互方式。

比如银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。

JSONObject获取值后为一个对象,将对象转为JSONObject时报错

将json字符串转化成JavaBean对象

Person person = new Person("1","gson",1);

Gson gson = new Gson();

//这里将javabean转化成json字符串

String jsonString = gson.toJson(person);

System.out.println(jsonString);

//这里将json字符串转化成javabean对象,

person = gson.fromJson(jsonString,Person.class);

将json字符串转化成ListJavaBean对象

Person person1 = new Person("1","gson1",1);

Person person2 = new Person("2","gson2",2);

ListPerson persons = new ArrayListPerson();

persons.add(person1);

persons.add(person2);

Gson gson = new Gson();

//这里将lsitjavabean转化成json字符串

String jsonString = gson.toJson(persons);

//解析json字符串

ListPerson persons2 = gson.fromJson(jsonString, new TypeTokenListPerson(){}.getType());

将json字符串转化成ListString对象

ListString list = new ArrayListString();

list.add("gson1");

list.add("gson2");

list.add("gson3");

Gson gson = new Gson();

String jsonString = gson.toJson(list);

System.out.println("json字符串:"+jsonString);

//解析json字符串

ListString list2 = gson.fromJson(jsonString, new TypeTokenListString(){}.getType());

将json字符串转化成ListMapString,Object对象

MapString,Object map = new HashMapString,Object();

map.put("key1", "value1");

map.put("key2", "value2");

MapString,Object map2 = new HashMapString,Object();

map2.put("key1", 1);

map2.put("key2", 2);

ListMapString,Object list = new ArrayListMapString,Object();

list.add(map);

list.add(map2);

Gson gson = ?new Gson();

String jsonString = gson.toJson(list);

System.out.println("json字符串:"+jsonString);

//解析json字符串

ListMapString,Object list2 = gson.fromJson(jsonString, new TypeTokenListMapString,Object(){}.getType());

jsonobject格式

这个以前我解析的一个稍微有点复杂的json数据。你参考解析下吧。例子很简单,一看就明白了。

json数据:====={success:0,errorMsg:"错误消息",data:{total:"总记录数",rows:[{id:"任务ID",workName:"任务名称",assigneeName:"经办人姓名",name:"流程步骤名称",processInstanceInitiatorName:"发起人",processInstanceStartTime:"发起时间",createTime:"到达时间",dueDate:"截止时间"},{id:"ID",workName:"名称",assigneeName:"经办人",name:"流程",processInstanceInitiatorName:"发起人",processInstanceStartTime:"发起",createTime:"到达",dueDate:"截止"}]}}

java:

JSONObject ob=JSONObject.fromObject(str);

Object success=ob.get("success");

Object errorMsg=ob.get("errorMsg");

System.out.println(success);

System.out.println(errorMsg);

JSONObject data=ob.getJSONObject("data");

Object total=data.get("total");

System.out.println(total);

JSONArray array=data.getJSONArray("rows");

JSONObject rows=null;

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

rows=array.getJSONObject(i);

Object id=rows.get("id");

System.out.println(id);

Object workName=rows.get("workName");

System.out.println(workName);

Object assigneeName=rows.get("assigneeName");

System.out.println(assigneeName);

Object name=rows.get("name");

System.out.println(name);

Object processInstanceInitiatorName=rows.get("processInstanceInitiatorName");

System.out.println(processInstanceInitiatorName);

Object processInstanceStartTime=rows.get("processInstanceStartTime");

System.out.println(processInstanceStartTime);

Object createTime=rows.get("createTime");

System.out.println(createTime);

Object dueDate=rows.get("dueDate");

System.out.println(dueDate);

}

(责任编辑:IT教学网)

更多

推荐linux文章