首页 > 解决方案 > 如何从 Java 文件中解析 json 对象列表?

问题描述

我需要解析存储在一个巨大的 json 文档中的维基百科文章列表。

json文件中的文章结构为:

{"id": "", "revid": "", "url":"", "title": "", "text": "..."} 

我没有对象的名称,因此我在 java 中解析它时遇到了一些问题。

一些忠告?

标签: javajsonparsing

解决方案


这是适合您的方法:

package com.json;    

import java.io.IOException;    

import com.fasterxml.jackson.databind.ObjectMapper;    


public class JsonToObject {    

    public static void main(String[] args){    

        ObjectMapper mapper = new ObjectMapper();
        String json = "{\"id\": \"AF98037\", \"action\": \"UPDATE\", \"activated_at\": \"2020-01-24T03:37:44.951Z\", \"address_contact\": \" \", \"age\": 0}";    

        try {
            ParsedJson gi = mapper.readValue(json, ParsedJson.class);    

            System.out.println(gi.getAction());
            System.out.println(gi.getId());
            System.out.println(gi.getAge());
        } catch (IOException e) {
            e.printStackTrace();
        }    

    }

}

ParsedJson.class

package com.json;    

public class ParsedJson {    

    private String action;
    private String id;
    private String alt;
    private Integer age;
    private String address_contact;
    private String activated_at;    

    public String getAction() {
        return action;
    }    

    public void setAction(String action) {
        this.action = action;
    }    

    public String getId() {
        return id;
    }    

    public void setId(String id) {
        this.id = id;
    }    

    public String getAlt() {
        return alt;
    }    

    public void setAlt(String alt) {
        this.alt = alt;
    }    

    public Integer getAge() {
        return age;
    }    

    public void setAge(Integer age) {
        this.age = age;
    }    

    public String getAddress_contact() {
        return address_contact;
    }    

    public void setAddress_contact(String address_contact) {
        this.address_contact = address_contact;
    }    

    public String getActivated_at() {
        return activated_at;
    }    

    public void setActivated_at(String activated_at) {
        this.activated_at = activated_at;
    }
}

推荐阅读