首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

嵌套的json to java对象List<Object>返回期望值,而List<DefinedObject>返回空值

嵌套的JSON to Java对象List<Object>返回期望值,而List<DefinedObject>返回空值。

对于嵌套的JSON数据转换为Java对象,可以使用JSON库来实现。常用的JSON库有Jackson、Gson等。以下是一个示例代码,演示如何将嵌套的JSON转换为Java对象列表:

代码语言:txt
复制
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.List;

public class JsonToJavaExample {
    public static void main(String[] args) {
        String json = "{\"data\": [{\"name\": \"John\", \"age\": 25}, {\"name\": \"Jane\", \"age\": 30}]}";

        ObjectMapper objectMapper = new ObjectMapper();

        try {
            // 将JSON转换为List<Object>
            List<Object> objectList = objectMapper.readValue(json, List.class);
            System.out.println("List<Object>: " + objectList);

            // 将JSON转换为List<DefinedObject>
            List<DefinedObject> definedObjectList = objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, DefinedObject.class));
            System.out.println("List<DefinedObject>: " + definedObjectList);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    static class DefinedObject {
        private String name;
        private int age;

        // 省略构造函数、getter和setter方法

        @Override
        public String toString() {
            return "DefinedObject{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
}

上述代码中,我们使用Jackson库将JSON字符串转换为Java对象。首先,我们将JSON转换为List<Object>,这样可以保留JSON中的嵌套结构,但无法获取具体的对象属性。然后,我们将JSON转换为List<DefinedObject>,这样可以获取到具体的对象属性。

对于List<Object>,它适用于处理未知结构的JSON数据,或者对JSON数据的具体结构不关心的情况。而List<DefinedObject>适用于已知结构的JSON数据,可以方便地获取对象的属性。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。

  • 腾讯云云服务器(CVM):提供弹性、可靠的云服务器,可满足各种计算需求。详情请参考腾讯云云服务器(CVM)
  • 腾讯云云数据库MySQL:提供高性能、可扩展的云数据库服务,适用于各种规模的应用。详情请参考腾讯云云数据库MySQL

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券