`

java解析json格式的字符串

    博客分类:
  • JSON
 
阅读更多
01./**
02. * @author: helloworlda
03. * @time:2012-1-18 
04. * @descript:java拼接和解析json对象   
05. * @result:get没测试出来,不知道效率怎么样。
06. */ 
07.package json; 
08.import java.util.ArrayList; 
09.import java.util.Iterator; 
10.import java.util.List; 
11.import net.sf.json.JSONArray; 
12.import net.sf.json.JSONObject; 
13./**
14. *
15. */ 
16.public class TestJson { 
17. public static void main(String[] args) { 
18.  System.out.println("---------------------java拼接json对象----------------------"); 
19.  TestJson ss=new TestJson(); 
20.  ss.viewMagazine(); 
21.  System.out.println("---------------------java解析json对象----------------------");   
22.  strJsonObj(); 
23. } 
24. /**
25.  * 拼json对象
26.  */ 
27. public String viewMagazine(){ 
28.   
29.  Person person=new Person();   
30.  person.setBirth("1989-22-11"); 
31.  person.setGrade("07java"); 
32.  person.setName("happ"); 
33.  person.setSex("boy"); 
34.   
35.  //推荐的杂志的结果集  
36.  Person person1=new Person();   
37.  person1.setBirth("1989-22-11"); 
38.  person1.setGrade("07java"); 
39.  person1.setName("helloworlda"); 
40.  person1.setSex("girl"); 
41.  
42.  List<Person> list=new ArrayList<Person>(); 
43.  list.add(person); 
44.  list.add(person1); 
45.  
46.  JSONObject s=new JSONObject(); 
47.  JSONArray ss=JSONArray.fromObject(list);//构建json数组  
48.  //往json对象中加值  
49.  s.put("person", person);//添加对象  
50.  
51.  s.put("personlist", list);//添加数组,list和ss都可以  
52.  //s.put("personss", ss);//添加数组,list和ss都可以  
53.  s.put("comCount", 3); 
54.  System.out.println(s);   
55.  return null;  
56. } 
57.  
58. /**
59.  * java解析json对象,解析出对象和字符串及数组并遍历出相应的值
60.  */ 
61.  
62. private static void strJsonObj(){ 
63.  String json = "{'name': 'helloworlda','array':[{'a':'111','b':'222','c':'333'},{'a':'999'}],'address':'111','people':{'name':'happ','sex':'girl'}}"; 
64.  JSONObject jsonobj=JSONObject.fromObject(json);//将字符串转化成json对象   
65.  String name=jsonobj.getString("name");//获取字符串。  
66.  JSONArray array=jsonobj.getJSONArray("array");//获取数组  
67.  JSONObject obj=jsonobj.getJSONObject("people");//获取对象  
68.   
69.  System.out.println("===============strJsonObj=================="); 
70.  System.out.println("jsonobj : "+jsonobj); 
71.  System.out.println("array : "+array); 
72.  System.out.println("obj : "+obj.getString("name")); 
73.   
74.  //遍历json对象  
75.   Iterator<?> objkey=obj.keys();   
76.  while (objkey.hasNext()) {// 遍历JSONObject     
77.        String aa2 = (String) objkey.next().toString();    
78.       String bb2 = obj.getString(aa2);          
79.       System.out.println(aa2+":"+bb2); 
80.  }    
81.  //遍历数组  
82.  for (int i = 0; i < array.size(); i++) {    
83.   System.out.println("item "+ i + " :" + array.getString(i));    
84.  } 
85. } 
86.} 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics