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

本文介绍了如何使用实体类映射的方式解析JSON数据,相比直接使用jsonObject和jsonArray,这种方法能提高代码的复用性。文章提到了使用的工具如IDEA和Fastjson,并给出了JSON字符串示例及对应的POJO实体类设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前解析 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> userSearchedHistoryByOrgs;

      //省略getter/setter...
}
解析
   Root root  =  JSON.parseObject(data,Root.class);
   BasicVersion basicVersion = root.getBasicVersion();
   String userGender=  basicVersion.getUserGender(); 
    System.out.println(userGender);

结果:男

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值