0 0

关于json嵌套解析5

{   
   "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/"}   
   ]   
}  

请问如何取每个元素啊~来段能用的代码,谢谢~
2011年8月11日 14:40

5个答案 按时间排序 按投票排序

0 0

采纳的答案

需要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());
	}

}

2011年8月11日 15:01
0 0

当前使用世界上最快的json解析器fastjson了

2011年8月11日 16:00
0 0

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

2011年8月11日 14:54
0 0

使用fastJson反向生成对应的Model的List

2011年8月11日 14:43
0 0

使用fastJson反向生成对应的Model的List

2011年8月11日 14:43

相关推荐

Global site tag (gtag.js) - Google Analytics