java解析和拼接json对象
Posted Hello
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java解析和拼接json对象相关的知识,希望对你有一定的参考价值。
1 /** 2 3 * @author: helloworlda 4 5 * @time:2012-1-18 6 7 * @descript:java拼接和解析json对象 8 9 * @result:get没测试出来,不知道效率怎么样。 10 11 */ 12 13 package json; 14 15 import java.util.ArrayList; 16 17 import java.util.Iterator; 18 19 import java.util.List; 20 21 import net.sf.json.JSONArray; 22 23 import net.sf.json.JSONObject; 24 25 /** 26 27 * 28 29 */ 30 31 public class TestJson { 32 33 public static void main(String[] args) { 34 35 System.out.println("---------------------java拼接json对象----------------------"); 36 37 TestJson ss=new TestJson(); 38 39 ss.viewMagazine(); 40 41 System.out.println("---------------------java解析json对象----------------------"); 42 43 strJsonObj(); 44 45 } 46 47 /** 48 49 * 拼json对象 50 51 */ 52 53 public String viewMagazine(){ 54 55 56 57 Person person=new Person(); 58 59 person.setBirth("1989-22-11"); 60 61 person.setGrade("07java"); 62 63 person.setName("happ"); 64 65 person.setSex("boy"); 66 67 68 69 //推荐的杂志的结果集 70 71 Person person1=new Person(); 72 73 person1.setBirth("1989-22-11"); 74 75 person1.setGrade("07java"); 76 77 person1.setName("helloworlda"); 78 79 person1.setSex("girl"); 80 81 82 83 List<Person> list=new ArrayList<Person>(); 84 85 list.add(person); 86 87 list.add(person1); 88 89 90 91 JSONObject s=new JSONObject(); 92 93 JSONArray ss=JSONArray.fromObject(list);//构建json数组 94 95 //往json对象中加值 96 97 s.put("person", person);//添加对象 98 99 100 101 s.put("personlist", list);//添加数组,list和ss都可以 102 103 //s.put("personss", ss);//添加数组,list和ss都可以 104 105 s.put("comCount", 3); 106 107 System.out.println(s); 108 109 return null; 110 111 } 112 113 114 115 /** 116 117 * java解析json对象,解析出对象和字符串及数组并遍历出相应的值 118 119 */ 120 121 122 123 private static void strJsonObj(){ 124 125 String json = "{‘name‘: ‘helloworlda‘,‘array‘:[{‘a‘:‘111‘,‘b‘:‘222‘,‘c‘:‘333‘},{‘a‘:‘999‘}],‘address‘:‘111‘,‘people‘:{‘name‘:‘happ‘,‘sex‘:‘girl‘}}"; 126 127 JSONObject jsonobj=JSONObject.fromObject(json);//将字符串转化成json对象 128 129 String name=jsonobj.getString("name");//获取字符串。 130 131 JSONArray array=jsonobj.getJSONArray("array");//获取数组 132 133 JSONObject obj=jsonobj.getJSONObject("people");//获取对象 134 135 136 137 System.out.println("===============strJsonObj=================="); 138 139 System.out.println("jsonobj : "+jsonobj); 140 141 System.out.println("array : "+array); 142 143 System.out.println("obj : "+obj.getString("name")); 144 145 146 147 //遍历json对象 148 149 Iterator<?> objkey=obj.keys(); 150 151 while (objkey.hasNext()) {// 遍历JSONObject 152 153 String aa2 = (String) objkey.next().toString(); 154 155 String bb2 = obj.getString(aa2); 156 157 System.out.println(aa2+":"+bb2); 158 159 } 160 161 //遍历数组 162 163 for (int i = 0; i < array.size(); i++) { 164 165 System.out.println("item "+ i + " :" + array.getString(i)); 166 167 } 168 169 } 170 171 }
以上是关于java解析和拼接json对象的主要内容,如果未能解决你的问题,请参考以下文章
解析:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项
ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项