jsonobject,jsonobject转map的方法
怎么判断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);
}