JSON相关

JSON.parseArray()

工作中设计到JSON相关的操作比较多,记录一点发一点 备忘

JSON常用来作为格式转换,前几天将一个封装了几层的Body数据拆出来,获取一个字段内容,发给客户。。。 

JSON.parsearray()

假设有个Vo类

public class Student{
    public String id;
    public String name;
    public Integer age;
} 

这个对象有3个对应的属性值

如果有这样的JSON字符串 名字为data

[{“id”:“1”,“name”:“byron”,“age”:25},{“id”:“2”,“name”:“Caroline”,“age”:24},{“id”:“3”,“name”:“tinker”,“age”:21}]

List list = JSON.parseArray(data.Student.class);
这里的JSON.parseArray方法的参数中data,是字符串,第二个是Student类
这个方法在这的作用是将data中的数据,按照Student类,将json转换存到list集合中。

JSON.parseObject()

工作中遇到了,需要一层一层去获取一大串字段中的一个值,这里为了把这一段JSON获取其中的ZH-CN的value值,用JSON的方式去解析它

先把String类型,转换为JSON格式

{"formId":"xxx","applyUserName":"byron","formType":"mulLangJson","mulLangJson":{"formType":{"EN-US":"Business Travel Request","DE-DE":"Business Travel Request","KO-KR":"Business Travel Request","ZH-HK":"Business Travel Request","ZH-TW":"Business Travel Request","TH-TH":"Business Travel Request","FR-FR":"Business Travel Request","JA-JP":"Business Travel Request","ZH-CN":"出差申请单","VI-VN":"Business Travel Request"}},"key":"notice.wkf.AR.TRAVEL.S.WT"}

    public JSONObject getFormName(String jsonStr){

        JSONObject returnJson = new JSONObject();
        returnJson.put("formName","申请单");
        JSONObject paramJson;
        try{
            //String formResult = formId.split("-")[0];
            paramJson = JSON.parseObject(jsonStr);
            String mulLangJson = paramJson.getString("mulLangJson");
            if (null == mulLangJson || "".equals(mulLangJson)) {
                return returnJson;
            }
            JSONObject formType = JSON.parseObject(mulLangJson);
            String detail = formType.get("formType").toString();
            JSONObject zh_formName = JSON.parseObject(detail);
            String result = zh_formName.get("ZH-CN").toString();
            returnJson.put("formName",result);
            return returnJson;
        }catch (Exception e){
            logger.error("获取多语言翻译表单名称出错:{},{}",e,e.getMessage());
            e.printStackTrace();
            return returnJson;
        }
    }

总体思路:通过一次JSON.parseObject解析成JSON给是,get方法获取其中的信息,多次使用。

可以考虑使用上面的JSON.parseArray(),可能更方便,没有试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值