关于json嵌套解析

问题描述

{ "fullname": "Sean Kelly", "org": "SK Consulting", "emailaddrs": [ {"type": "work", "value": "kelly@seankelly.biz"}, {"type": "home", "pref": 1, "value": "kelly@seankelly.tv"} ], "telephones": [ {"type": "work", "pref": 1, "value": "+1 214 555 1212"}, {"type": "fax", "value": "+1 214 555 1213"}, {"type": "mobile", "value": "+1 214 555 1214"} ], "addresses": [ {"type": "work", "format": "us", "value": "1234 Main StnSpringfield, TX 78080-1216"}, {"type": "home", "format": "us", "value": "5678 Main StnSpringfield, TX 78080-1316"} ], "urls": [ {"type": "work", "value": "http://seankelly.biz/"}, {"type": "home", "value": "http://seankelly.tv/"} ] } 请问如何取每个元素啊~来段能用的代码,谢谢~

解决方案

需要Jackson。http://jackson.codehaus.org/package jsonparsingtest;import java.util.ArrayList;import java.util.List;import org.codehaus.jackson.map.ObjectMapper;public class JsonParsingTest {public static class Person {private String fullname = null;private String org = null;private List<Address> emailaddrs = new ArrayList<Address>();private List<Address> telephones = new ArrayList<Address>();private List<Address> addresses = new ArrayList<Address>();private List<Address> urls = new ArrayList<Address>();public String getFullname() {return fullname;}public void setFullname(String fullname) {this.fullname = fullname;}public String getOrg() {return org;}public void setOrg(String org) {this.org = org;}public List<Address> getEmailaddrs() {return emailaddrs;}public void setEmailaddrs(List<Address> emailaddrs) {this.emailaddrs = emailaddrs;}public List<Address> getTelephones() {return telephones;}public void setTelephones(List<Address> telephones) {this.telephones = telephones;}public List<Address> getAddresses() {return addresses;}public void setAddresses(List<Address> addresses) {this.addresses = addresses;}public List<Address> getUrls() {return urls;}public void setUrls(List<Address> urls) {this.urls = urls;}}public static class Address {private String type = null;private String value = null;private String format = null;private int pref = 0;public String getType() {return type;}public void setType(String type) {this.type = type;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}public String getFormat() {return format;}public void setFormat(String format) {this.format = format;}public int getPref() {return pref;}public void setPref(int pref) {this.pref = pref;}}public static void main(String[] args) throws Exception {ObjectMapper om = new ObjectMapper();// 对象就在这里读取。Person person = om.readValue(System.in, Person.class);// 怎么用,随便。System.out.println(person.getFullname());System.out.println(person.getEmailaddrs().get(0).getValue());}}
解决方案二:
当前使用世界上最快的json解析器fastjson了
解决方案三:
json-lib这样行吧?public static void main(String[] args) {String jsonString="{'fullname': 'Sean Kelly','org': 'SK Consulting','emailaddrs': [{'type': 'work', 'value': 'kelly@seankelly.biz'},{'type': 'home', 'pref': 1, 'value': 'kelly@seankelly.tv'} ]}";JSONObject jsonObject = new JSONObject().fromObject(jsonString);Object obje=jsonObject.get("emailaddrs");Object obje1=jsonObject.get("addresses");}
解决方案四:
使用fastJson反向生成对应的Model的List
解决方案五:
使用fastJson反向生成对应的Model的List

时间: 2024-10-20 16:05:59

关于json嵌套解析的相关文章

Android开发之Gson解析Json嵌套数据

Gson解析复杂的json数据           在这里介绍解析json数据的另外一种方法就是通过Gson解析,对于解析比较简单的json数据我就不介绍了来一个比较复杂一点的json数据,如下面我们要解析的一个json数据: [java] view plaincopy String json = {"a":"100","b":[{"b1":"b_value1","b2":"b

android 开发 json多层嵌套解析

问题描述 android 开发 json多层嵌套解析 向那种单层的数组我就会解析,向这种多层的我就不会了,都说是一层一层往下解析,就是不会,求大神指点,不要用Gson之类的框架,那些我会,谢谢 { "OK": 0, "obj": { "list": [ { "id": "8005285", "tour": { "id": "87962435", &

关于ios数据嵌套解析, 怎么实现嵌套内部遍历赋值

问题描述 关于ios数据嵌套解析, 怎么实现嵌套内部遍历赋值 ios数据解析怎么实现嵌套遍历赋值? 求大神指点, 赋值后用点属性的方法无法打印出来总是Crash, 什么原因啊? 解决方案 先看你遍历的索引等是否正确,具体crash发生在什么点 解决方案二: 可以给项目添加一个all exception breakPoint,先看看crash在什么地方.我猜楼主是不是不小心数组越界了 解决方案三: 这是我的截图 解决方案四: 解决方案五: 解决方案六: events字典内出现空数据,导致报错.尝试

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家还是很有帮助的,老司机要开车了 涉及到网络,你就一定要先添加权限,准没错 <!--网络权限--> <uses-permission android:name="android.permission.INTERNET" /> 一.归属地查询(JSONObject) 这

json格式解析和libjson的用法介绍(关于cjson的使用方法)_C 语言

在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据格式:JSON与XML.本文主要介绍JSON格式的简单概念及JSON在Rss Reader中的应用,XML格式的使用将在下一篇文章做介绍. JSON简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,可以把JSON的结构理解成无序的.可嵌套的key-value键值对集合,这些key-value键值对是

10分钟掌握XML、JSON及其解析_基础知识

引言 NOKIA 有句著名的广告语:"科技以人为本".任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌握其一角.不过个人一直认为基本的技术和思想是放之四海而皆准的,许多技术未必需要我们从头到尾再研究一遍,我们要做的就是站在巨人的肩膀上,利用其成果来为人们的需求服务. 随着移动互联网时代的大潮,越来越多的App不光是需要和网络服务器进行数据传输和交互,也需要和其他 App 进行数据传递.承担

Android 中对JSON数据解析实例代码

Android 中对JSON数据解析 在Android的网络编程中,JSON是比XML使用更为广泛的数据传输机制.在许多的http网络请求或接口调用中,返回的很多都是JSON.所以学会解析JSON是学会Android的基本技能. 简单介绍下JSON,JSON是轻量级的文本数据交换格式,独立于语言和平台.比XML更小,更快,更易解析.JSON是用键值对来保存数据的.JSON保存的值可以是数字.字符串.布尔值.数组和对象. 废话少说,直接上代码.下面对以下JOSN进行解析: { "language&

Android json数据解析详解及实例代码

Android json数据解析详解 移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说Android json解析. 1.最简单json格式解析如下: //解析json ry { JSONTokener jsonParser = new JSONTokener(strResult); JSONObject jsonObj = (JSONObject) jsonParser.nextValue(); String strsportsTitle = jsonObj.getStrin

Android随手笔记44之JSON数据解析_Android

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android开发中,如何在服务器端创建JSON数据,以及如何在Android客户端对JSON数据进行解析. 1.JSON数据结构 在JSON中有两种数据结构:对象和数组. 1.1对象 在JSON中,一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"