您的位置:首页 > 编程语言 > Java开发

JAVA处理JSON学习

2009-05-11 06:31 393 查看
php5处理json就2个函数;方便的很;但常用的java处理起来就很麻烦;通常用JSON-lib许多包;

我总结了一个简单的java处理json的方法如下:

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

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

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

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);

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的代码:

var Json = {//把javascript的数组或对象转换成Json格式的字符串
toString: function(obj){
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/([")/g]//])/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的数组或对象
evaluate: function(str, secure){
return ((typeof(str) != 'string') || (secure && !str.test(/^("(//.|[^"///n/r])*?"|[,:{}/[/]0-9./-+Eaeflnr-u /n/r/t])+?$/))) ? null : eval('(' + str + ')');
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: