java解析json

1:下载另外一个Java的小包就可以了; http://www.JSON.org/java/json_simple.zip 

里面有源码和文档例题和编程的lib包;编程只需要json_simple.jar这个包就行;才10几k。

2:在后端java中解析json的代码: 

//JavaScript之家:http://www.jrose.cn 

a:把json字符串变成java数组对象形式: 

String s="[0,{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}]"; 

Object obj=JSONValue.parse(s); 

JSONArray array=(JSONArray)obj; 

System.out.println(array.get(1)); 

b:把java对象形式变成json字符串: 

JSONObject obj2=new JSONObject(); 

obj2.put("phone","123456"); 

obj2.put("zip","7890"); 

obj.put("contact",obj2); 

System.out.print(obj); 

//JavaScript之家:http://www.jrose.cn 

c:把java数组形式变成json字符串: 

JSONArray array=new JSONArray(); 

array.add("hello"); 

array.add(new Integer(123)); 

array.add(new Boolean(false)); 

array.add(null); 

array.add(new Double(123.45)); 

array.add(obj2);//see above 

System.out.print(array);

 

3:在前端的javascript中解析json的代码: 

//JavaScript之家:http://www.jrose.cn 

var Json = {//把javascript的数组或对象转换成Json格式的字符串 

toString: function(obj){ 

switch(typeof(obj)){ 

case 'string': 

return '"' + obj.replace(/(["\])/g, '\$1') + '"'; 

case 'array': 

return '[' + obj.map(Json.toString).join(',') + ']'; 

case 'object': 

var string = []; 

for (var property in obj) string.push(Json.toString(property) + ':' + Json.toString(obj[property])); 

return '{' + string.join(',') + '}'; 

case 'number': 

if (isFinite(obj)) break; 

case false: 

return 'null'; 

return String(obj); 

},//把Json格式的字符串转换成javascript的数组或对象 

//JavaScript之家:http://www.jrose.cn 

evaluate: function(str, secure){ 

return ((typeof(str) != 'string') || (secure && !str.test(/^("(\.|[^"\ ])*?"|[,:{}

 

0-9.-+Eaeflnr-u ])+?$/))) ? null : eval('(' + str + ')'); 

 

原文地址:https://www.cnblogs.com/w1217/p/5972589.html