美文网首页
Java 解析超大json文件,获取每个节点内容

Java 解析超大json文件,获取每个节点内容

作者: 赵优秀 | 来源:发表于2022-02-17 10:04 被阅读0次

Json demo

[
    {
        "code": "A", 
        "jgzh": false, 
        "name": "农、林、牧、渔业", 
        "pcode": "0", 
        "fullName": "农、林、牧、渔业"
    }, 
    {
        "code": "A01", 
        "jgzh": false, 
        "name": "农业", 
        "pcode": "A", 
        "fullName": "农业"
    },
  ......
]

Java代码

@Test
    void contextLoads() throws Exception {
        List<TBaseDict> rList = new ArrayList<>();
        JsonFactory f = new MappingJsonFactory();
        JsonParser jp = f.createJsonParser(new File("D:/行业代码.json"));
        JsonToken current;
        current = jp.nextToken();
        if (current != JsonToken.START_ARRAY) {
            System.out.println("Error: root should be object: quiting.");
            return;
        }
        while (jp.nextToken() != JsonToken.END_ARRAY) {
            JsonNode node = jp.readValueAsTree();
            val code = node.get("code").asText();
            if(code.length() == 5){
                TBaseDict dict = new TBaseDict();
                dict.setDictName(node.get("name").asText());
                dict.setDictCode(code);
                dict.setRemark(node.get("fullName").asText());
                dict.setParentId(100016900);
                dict.setDictFlag("1");
                dict.setStatus("1");
                rList.add(dict);
            }

        }
        dictService.saveBatch(rList);
        System.out.println("==========结束=======");
    }

相关文章

网友评论

      本文标题:Java 解析超大json文件,获取每个节点内容

      本文链接:https://www.haomeiwen.com/subject/dvwjlrtx.html