解析Jon文件通过key值替换value值 #java #json#java解析json

一、json模型

1.通过json结构来映射数据,可以很清晰的看出数据之间的逻辑关系!我们在爬取数据的是时候只需要将数据和json字段做映射,通过json的key将value替换换成爬回来的数据,这样数据不会凌乱。

{
  "base_header":{
    "telphone":"",
    "email":"",
    "website":"",
    "address":"",
    "simple_context":""
  },
  "base_info":{
    "gs_register":{
      "fddbr":"",
      "jyzt":"",
      "zczb":"",
      "sjzb":"",
      "cym":"",
      "sshy":"",
      "tyshxydm":"",
      "nsrsnh":"",
      "gszch":"",
      "zzjgdm":"",
      "djjg":"",
      "clrq":"",
      "qylx":"",
      "yyqx":"",
      "shsypq":"",
      "hzrq":"",
      "zcdz":"",
      "jyfw":""
    },
    "gs_stock":{
      "gdfqr":"",
      "cgbl":"",
      "rjcze":"",
      "sjcze":""
    },
    "jyzk":{}
  }
}

二、Demo

1.这里用的 fastjson 和gjson中的方法有所不同

package com.microrule.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import jdk.nashorn.api.scripting.ScriptUtils;
import org.apache.commons.io.FileUtils;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class main {
    private static ScriptUtils parser;

    public static void main(String[] args) throws IOException {
        //拿到配置文件
        String path="D:\\rb-browser-script\\rb-script-api\\src\\main\\resources\\modeltable\\companyMessage.json";
        File file =new File(path);
        //转化为中文字符
        String  content= FileUtils.readFileToString(file,"utf-8");
        //建立一个json对象
        JSONObject jsonObject = new JSONObject();
        // Str 转 json
        JSONObject json = JSONObject.parseObject(content);
       // String base_header=  jsonObject.getString("base_header");
        // 拿到第一层的键
        JSONObject rjson = json.getJSONObject("base_header");
        // 直接put替换原键值对
        rjson.put("telphone", "123456");
       // rjson.put("fddbr","hello");
        System.out.println(rjson.toJSONString());


         }



    }



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值