Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态地将JSON对象添加到POJO_Java_Json_Pojo - Fatal编程技术网

Java 动态地将JSON对象添加到POJO

Java 动态地将JSON对象添加到POJO,java,json,pojo,Java,Json,Pojo,我想将一个JSON对象数组动态存储到POJO类中,如何在java中完成这项特殊的工作 [ { "history":"L", "loan":"12345" "status":1 . . }, { "History":"L", "loan":"67890" "status":1 . . }, .... ] 你需要有一个模型。 假设您的json字符串如下所示: String temp_json_string = "{ \"history\":\"L\", \"loan\":\"12345\", \"

我想将一个JSON对象数组动态存储到POJO类中,如何在java中完成这项特殊的工作

[
{
"history":"L",
"loan":"12345"
"status":1
.
.
},
{
"History":"L",
"loan":"67890"
"status":1
.
.
},
....
]

你需要有一个模型。 假设您的json字符串如下所示:

String temp_json_string = "{ \"history\":\"L\", \"loan\":\"12345\", \"status\":\"1\"}";
转到这个或类似的站点,通过在该链接中粘贴json字符串为您的temp_json_字符串生成一个类,然后获取类,如果需要,选择getter和setter

创建一个新的gson/jackson对象(导入该库maven或buildjre系统路径),将字符串转换为这个“BankLoanDetails”类

您的my_loan_pojo是表示json字符串的pojo


你在

上查过了吗?我在扩展阿卡什的答案

import org.codehaus.jackson.map.ObjectMapper;
导入org.codehaus.jackson.map.type.TypeFactory;
---
ObjectMapper mapper=新的ObjectMapper();
List List=mapper.readValue(JSONString,TypeFactory.collectionType(List.class,DTO.class));

首先创建一个POJO类,如下所示:

公共类贷款{
私人字符串历史;
私人贷款;
私人身份;
\\生成getter、setter和toString方法
}
现在解析json并转换为jSONArray(导入json简单库)

String path=“json文件的路径”;
文件f=新文件(路径);
JSONParser=新的JSONParser();
objectobj=parser.parse(新文件读取器(f));
JSONArray JSONArray=(JSONArray)obj;
现在

  • 创建新的ObjectMapper对象(导入jackson数据绑定库)
  • 使用writeValueAsString方法将解析的JSONArray转换为json字符串
  • 然后再次将其转换为“Loan”类的列表
    ObjectMapper mapper=new ObjectMapper();
    字符串jsonStr=mapper.writeValueAsString(jsonArray);
    List loanList=Arrays.asList(mapper.readValue(jsonStr,Loan[].class));
    for(贷款l:贷款清单)
    系统输出打印LN(l);
    
    注意:json数组包含不同的键作为历史(首先 对象)和历史记录(第二个对象)。将其更改为贷款中的历史记录 类,数据成员为历史记录


    您可以创建具有相同属性的POJO类,并使用jackson自动映射。参考任何spring boot rest api示例以更好地理解它使用下面的链接来理解它我目前已经这样做了,但是我想直接根据主体响应来做,而不需要看到响应JSON键如果我将JSON obj作为参数而不是字符串,那么这会起作用吗?DTO.class是什么
        Gson gson = new Gson(); 
        BankLoanDetails my_loan_pojo = gson.fromJson(temp_json_string, 
                                                       BankLoanDetails.class);