Java 如何使用Jackson将JSON字符串解析为列表

Java 如何使用Jackson将JSON字符串解析为列表,java,json,jackson,Java,Json,Jackson,我有一个具有以下值的字符串: { "keyA": { "ID": "123", "Name": "TESTA", "Mobile": "1111" }, "keyB": { "ID": "456", "Name": "TESTB", "Mobile": "2222" } } 如何将json转换为列表和类格式 我想把它解析成一个列表 请建议如何使用Jackson ObjectMapper实现?您可以尝试以下方法进行测试: publi

我有一个具有以下值的字符串:

{
  "keyA": {
    "ID": "123",
    "Name": "TESTA",
    "Mobile": "1111"
  },
  "keyB": {
    "ID": "456",
    "Name": "TESTB",
    "Mobile": "2222"
  }
}
如何将json转换为列表和类格式

我想把它解析成一个列表


请建议如何使用Jackson ObjectMapper实现?

您可以尝试以下方法进行测试:

public static void main(String[] args) {
    String jsonString = "{\n" +
                "  \"keyA\": {\n" +
                "    \"ID\": \"123\",\n" +
                "    \"Name\": \"TESTA\",\n" +
                "    \"Mobile\": \"1111\"\n" +
                "  },\n" +
                "  \"keyB\": {\n" +
                "    \"ID\": \"456\",\n" +
                "    \"Name\": \"TESTB\",\n" +
                "    \"Mobile\": \"2222\"\n" +
                "  }\n" +
                "}";
    List<CustomObject> customObjects = new ArrayList<CustomObject>();
    ObjectMapper mapper = new ObjectMapper();
    try {
        ClassA myClassAObject= mapper.readValue(jsonString, ClassA.class);
        customObjects.add(myClassAObject.getKeyA());
        customObjects.add(myClassAObject.getKeyB());
    }
    catch(Exception e) {
        e.printStackTrace();
    }
    System.out.println(customObjects.size());
}
ClassA

public class ClassA {

    private CustomObject keyA;
    private CustomObject keyB;

    public CustomObject getKeyA() {
        return keyA;
    }

    public void setKeyA(CustomObject keyA) {
        this.keyA = keyA;
    }

    public CustomObject getKeyB() {
        return keyB;
    }

    public void setKeyB(CustomObject keyB) {
        this.keyB = keyB;
    }
}
如果您有问题,这是我在
Maven
中使用的库版本:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.1.3</version>
</dependency>

com.fasterxml.jackson.core
杰克逊数据绑定
2.4.1.3

无重复的可能重复,Json值的格式不同您需要为keyA创建一个类。i、 e
class Key
指定了属性。class Key作为超类,KeyA和KeyB作为对象属于class Key?那么总共创建3个类?不,只有一个;字段是相同的
keyA
keyB
只是字段名称Tryed and Get error无法反序列化START\u对象之外的java.util.ArrayList实例token@SenthilRS您可以在线程“main”中发布完整的错误堆栈和
ClassA
code?异常吗com.fasterxml.jackson.databind.JsonMappingException:无法在[Source:{“keyA”:{“ID”:“123”,“Name”:“TESTA”,“Mobile”:“1111”};行:1,列:12](通过引用链:com.model.ResponseBean[“keyA”])反序列化java.util.ArrayList的实例
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.1.3</version>
</dependency>