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, '""$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 + ')');
}
}