Java中Json解析的方法分析
作者:张旭小侠
这篇文章主要介绍了Java中Json解析的方法,结合实例形式分析了java针对json格式数据的解析实现步骤与相关操作技巧,需要的朋友可以参考下
本文实例讲述了Java中Json解析的方法。分享给大家供大家参考,具体如下:
首先准备一个JSON格式的字符串
* String JsonStr = "{object:{persons:" +
"[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";
* 然后定义一个Person类
*
*
class Person{
private String name,image;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
下面是一个Json解析的程序代码
class MyDay17Xml {
//json字符串
static String JsonStr = "{object:{persons:" +
"[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";
public static void main(String []args) throws JSONException{
List<Person> list=jsonStrToList(JsonStr);
System.out.println(list.size());
}
/**
*
*
*
*/
public static List<Person> jsonStrToList(String jsonStr) throws JSONException{
List<Person> list=new ArrayList<Person>();
//通过字符串,获得最外部的json对象
JSONObject jsonObj=new JSONObject(jsonStr);
//通过属性名,获得内部的对象
JSONObject jsonPersons=jsonObj.getJSONObject("object");
//获得json对象组
JSONArray arr=jsonPersons.getJSONArray("persons");
for(int i=0;i<arr.length();i++){
//循环对象,并通过getString("属性名");来获得值
JSONObject tempJson=arr.getJSONObject(i);
Person person=new Person();
person.setName(tempJson.getString("name"));
person.setImage(tempJson.getString("image"));
list.add(person);
}
return list;
}
}
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
希望本文所述对大家java程序设计有所帮助。
