mirinda95925 2011-08-11 14:40
浏览 375
已采纳

关于json嵌套解析

[code="java"]
{

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

]

}

[/code]
请问如何取每个元素啊~来段能用的代码,谢谢~

  • 写回答

5条回答

  • wks1986 2011-08-11 15:01
    关注

    需要Jackson。[url]http://jackson.codehaus.org/[/url]

    [code="java"]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());
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择