package com.xyj.test;import java.util.ArrayList; import java.util.List;import com.google.gson.Gson;public class JsonAnalysisTest { private String jsonData; class People { private String name; private People people; private List<People> list; public String getName() { return name; } public void setName(String name) { this.name = name; } public People getPeople() { return people; } public void setPeople(People people) { this.people = people; } public List<People> getList() { return list; } public void setList(List<People> list) { this.list = list; } public People(String name) { this.name = name; }
public People(String name, List<People> list) { this.name = name; this.list = list; } } /** * 生成json格式的数据 */ public void createJsonData() { People p1 = new People("111"); People p2 = new People("222"); People p3 = new People("333"); People p4 = new People("444");
List<People> list = new ArrayList<People>(); list.add(p3); list.add(p4); p2.setList(list); p1.setPeople(p2); Gson gson = new Gson(); jsonData = gson.toJson(p1); analysisJsonData(jsonData); System.out.println(jsonData); }
/** * 解析json格式的数据 */ public void analysisJsonData(String data) { Gson gson = new Gson(); People p = gson.fromJson(data, People.class); System.out.println(p.getName()); System.out.println(p.getPeople().getName()); List<People> list = p.getPeople().getList(); for(int i=0; i<list.size(); i++) { System.out.println(list.get(i).getName()); } }
public static void main(String[] args) { new JsonAnalysisTest().createJsonData(); } }
前台用类似于 data.child.child.name 这种格式得到
用net.sf.json.JSONObject 对象的fromObject(String) 方法转换你的json文件,
方括号中的数据用jsonarray获取
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";JSONObject jsonObj = JSONObject.fromObject(jsonStr); JSONArray jsonArray = jsonObj.getJSONArray("child"); if (null != jsonArray && jsonArray.size() > 0) { for (int i = 0; i < jsonArray.size(); i++) { Object obj = jsonArray.get(i); JSONObject json = JSONObject.fromObject(obj); if (StringUtils.isNotBlank(json.getString("name"))) { log.info("name "+json.getString("name")); } }
import java.util.List;import com.google.gson.Gson;public class JsonAnalysisTest {
private String jsonData;
class People {
private String name;
private People people;
private List<People> list; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public People getPeople() {
return people;
} public void setPeople(People people) {
this.people = people;
} public List<People> getList() {
return list;
} public void setList(List<People> list) {
this.list = list;
} public People(String name) {
this.name = name;
}
public People(String name, List<People> list) {
this.name = name;
this.list = list;
}
} /**
* 生成json格式的数据
*/
public void createJsonData() {
People p1 = new People("111");
People p2 = new People("222");
People p3 = new People("333");
People p4 = new People("444");
List<People> list = new ArrayList<People>();
list.add(p3);
list.add(p4);
p2.setList(list);
p1.setPeople(p2);
Gson gson = new Gson();
jsonData = gson.toJson(p1);
analysisJsonData(jsonData);
System.out.println(jsonData);
}
/**
* 解析json格式的数据
*/
public void analysisJsonData(String data) {
Gson gson = new Gson();
People p = gson.fromJson(data, People.class);
System.out.println(p.getName());
System.out.println(p.getPeople().getName());
List<People> list = p.getPeople().getList();
for(int i=0; i<list.size(); i++) {
System.out.println(list.get(i).getName());
}
}
public static void main(String[] args) {
new JsonAnalysisTest().createJsonData();
}
}
Map map = (Map)jasonObject;
Set<String> key = map.keySet();
String userid = "";
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
Map map2 = (Map) map.get(s);
可以考虑先将json转换成Map接下来的事情相信你会了
http://www.oschina.net/code/snippet_216465_33272