java解析json

来源:互联网 发布:linux怎么装 编辑:程序博客网 时间:2024/04/27 16:01

java解析json

分类: java 232人阅读 评论(0)收藏 举报

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(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/))) ? null : eval('(' + str + ')');
}
}