解析json数据(使用实体类映射)

前言

之前解析 json 格式一直使用jsonObject,jsonArray,虽然使用起来还算可以,但后来发现可以使用实体类映射,貌似也还可以。而且代码复用性比较好。

使用工具

idea,com.alibaba.fastjson.JSON

json数据

{
"website":"chinamobilesh",
"create_time":157360,
"basic_version":{
    "user_gender": "男",
    "user_searched_history_by_orgs": [
      {
        "org_self": true,
        "searched_date": "2017-11-07",
        "searched_org": "其他"
      },
      {
        "org_self": false,
        "searched_date": "2017-07-08",
        "searched_org": "线上消费分期"
      },
    ]
 }
}

String 格式

String data = "{\"website\":\"chinamobilesh\", \"create_time\":157360, \"basic_version\":{\"user_gender\": \"\",\"user_searched_history_by_orgs\": [{\"org_self\": true,\"searched_date\": \"2017-11-07\",\"searched_org\": \"其他\"},{\"org_self\": false,\"searched_date\": \"2017-07-08\",\"searched_org\": \"线上消费分期\"}]}}";

pojo实体类

可以参考 json在线解析

package com.pojo;

import java.util.List;

public class Root {
    private String website;

    private int createTime;

    private BasicVersion basicVersion;

   //省略getter/setter...

    public static class UserSearchedHistoryByOrgs
    {
        private boolean orgSelf;

        private String searchedDate;

        private String searchedOrg;

       //省略getter/setter...
    }



    public static class BasicVersion
    {
        private String userGender;

        private List userSearchedHistoryByOrgs;

      //省略getter/setter...
}

解析

   Root root  =  JSON.parseObject(data,Root.class);
   BasicVersion basicVersion = root.getBasicVersion();
   String userGender=  basicVersion.getUserGender(); 
    System.out.println(userGender);

结果:男

你可能感兴趣的:(json)