将 json 数组转换为 json(原始)字符串列表
Convert json array to list of json(raw) strings
我有一些 json 数据是这样的:
[{"id":"someid","name":"some name"}, {"id":"some other id", "name":"a name"}]
我想获取上述数组中的 json 个对象作为字符串列表,如
(每个字符串都是json字符串形式的对象,(List<String>)
)
(为简单起见
[ {"id":"someid","name":"some name"},{"id":"some other id", "name":"a name"}
我尝试使用 jackson 的 TypeReference>,但它会导致像 id、someid 这样的组成部分进入列表元素,而不是使每个 json 对象成为字符串元素。
我也试过使用jackson TypeReference>,这次我得到了正确的对象数量,但是所有的双引号都没有了,':'被转换为'=',所以它转换为java 对象不是 json 原始字符串。
我越来越像 [{id=someid,name=somename},{id=some other id, name=a name}]
我很想知道如何使用 Jackson 库执行此操作。
如有任何帮助,我们将不胜感激。
使用org.json.simple.parser.JSONParser将JsonArray字符串解析为JsonArray对象。
JSONParser parser = new JSONParser();
JSONArray arr = (JSONArray) parser.parse(jsonArray);
List<String> list = new ArrayList<String>();
for (Object jsonObject : arr) {
System.out.println("jsonObject>>"+jsonObject);
list.add(jsonObject.toString());
}
此处准备好的列表包含您想要的 json(raw) 字符串。希望对你有所帮助
我能够使用 json 库中的 JSONArray 实现预期的结果。对于任何遇到这个问题的人,我都会发布这个。
JSONArray jsonArray = new JSONArray(jsonString);
List<String> list = new ArrayList<String());
for(int i = 0 ; i < jsonArray.length();i++){
list.add(jsonArray.getJSONObject(i));
}
不过,我仍然很想知道如何单独使用 Jackson 库来做到这一点。
jsonArray.getJSONObject() 方法 return 是 JSONObject 的一个实例。因此,您需要将 return 值更改为 List<JSONObject>
或在您的 for 循环中,将 jsonArray.getJSONObject(i).toString() 调用为 return a List<String>
我有一些 json 数据是这样的:
[{"id":"someid","name":"some name"}, {"id":"some other id", "name":"a name"}]
我想获取上述数组中的 json 个对象作为字符串列表,如
(每个字符串都是json字符串形式的对象,(List<String>)
)
(为简单起见
[ {"id":"someid","name":"some name"},{"id":"some other id", "name":"a name"}
我尝试使用 jackson 的 TypeReference>,但它会导致像 id、someid 这样的组成部分进入列表元素,而不是使每个 json 对象成为字符串元素。
我也试过使用jackson TypeReference>,这次我得到了正确的对象数量,但是所有的双引号都没有了,':'被转换为'=',所以它转换为java 对象不是 json 原始字符串。
我越来越像 [{id=someid,name=somename},{id=some other id, name=a name}]
我很想知道如何使用 Jackson 库执行此操作。
如有任何帮助,我们将不胜感激。
使用org.json.simple.parser.JSONParser将JsonArray字符串解析为JsonArray对象。
JSONParser parser = new JSONParser();
JSONArray arr = (JSONArray) parser.parse(jsonArray);
List<String> list = new ArrayList<String>();
for (Object jsonObject : arr) {
System.out.println("jsonObject>>"+jsonObject);
list.add(jsonObject.toString());
}
此处准备好的列表包含您想要的 json(raw) 字符串。希望对你有所帮助
我能够使用 json 库中的 JSONArray 实现预期的结果。对于任何遇到这个问题的人,我都会发布这个。
JSONArray jsonArray = new JSONArray(jsonString);
List<String> list = new ArrayList<String());
for(int i = 0 ; i < jsonArray.length();i++){
list.add(jsonArray.getJSONObject(i));
}
不过,我仍然很想知道如何单独使用 Jackson 库来做到这一点。
jsonArray.getJSONObject() 方法 return 是 JSONObject 的一个实例。因此,您需要将 return 值更改为 List<JSONObject>
或在您的 for 循环中,将 jsonArray.getJSONObject(i).toString() 调用为 return a List<String>