本文实例讲述了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程序设计有所帮助。
本文向大家介绍Ajax中解析Json的两种方法对比分析,包括了Ajax中解析Json的两种方法对比分析的使用技巧和注意事项,需要的朋友参考一下 eval(); //此方法不推荐 JSON.parse(); //推荐方法 一、两种方法的区别 我们先初始化一个json格式的对象: 然后在控制台调用: console.log( jsonObj.name ); // 两种方法都可以正确输入 周星
本文向大家介绍vbs 解析json jsonp的方法,包括了vbs 解析json jsonp的方法的使用技巧和注意事项,需要的朋友参考一下 我收集了三种常见 json jsonp 的格式,因为很多人找我说如何用正则提取某个字符串,我看了下,要么是json,要么是jsonp, 正则简直浪费,比如那种空间里说说的数据,上百条的信息,你正则个P,而且还有回复里的格式也差不多的,所以最好的方法还是解析。
本文向大家介绍Android中gson、jsonobject解析JSON的方法详解,包括了Android中gson、jsonobject解析JSON的方法详解的使用技巧和注意事项,需要的朋友参考一下 JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据
本文向大家介绍C++解析Json的方法详解【jsoncpp】,包括了C++解析Json的方法详解【jsoncpp】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++解析Json的方法。分享给大家供大家参考,具体如下: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做
本文向大家介绍jQuery遍历json的方法分析,包括了jQuery遍历json的方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了jQuery遍历json的方法。分享给大家供大家参考,具体如下: ajax请求: 返回的内容在success的函数里面,所有的遍历操作都是在这里面操作的: for循环: for in 循环: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQ
问题内容: 这是我对Java中的重载解析的了解: 编译器尝试从给定的重载方法定义中解析方法调用的过程称为重载解析。如果编译器找不到确切的匹配项,则仅通过使用向上转换来查找最接近的匹配(永远不会进行向下转换)。 这是一堂课: 如预期的那样,输出为10。 但是,如果我稍微更改类定义并更改第二个重载方法。 输出为8。 在这里我很困惑。如果从不使用向下转换,那么为什么只打印8个?为何编译器会选择以参数为参