【发布时间】:2015-04-14 18:48:30
【问题描述】:
我有一些 JSON 信息。 示例:
"Items":[{"User":{"Id":"123","name":"abcdef","email":"xy@z.com"},"User":{"Id":"456","name":"def","email":"we@z.com"}}]
我想删除 '{'、'"' 和 '}' 等符号并将其存储在 ArrayList 中,以便 JSON 中的每个元素在新的 ArrayList 中具有单独的位置。 我期待的输出看起来有点像这样:
ArrayList[0][0]:Id
ArrayList[0][1]:123
ArrayList[1][0]:name
ArrayList[1][1]:abcdef
etc.,
示例代码:
public String[] ParseGetJSON (String str){
String text = str;
try{
JSONParser jsonParser = new JSONParser();
JSONObject jsonObj = (JSONObject) jsonParser.parse(text);
JSONArray item = (JSONArray) jsonObj.get("Items");
for(int i = 0;i<item.size();i++){
System.out.println("The "+i+" element of the array"+item.get(i));
}
输出:
The 0 element of the array: {"Id":"123","name":"abcdef","email":"xy@z.com"}
【问题讨论】:
-
这不是
ArrayList,而是JSON格式的String。 -
为什么不把它解析为 Json 而不是数组列表?
-
我已经解析了 JSON 并将其存储到 ArrayList
中,因为我需要它以便在我的代码中进行进一步比较。 -
请向我们展示mcve,以便我们查看原始输入以及您正在做什么来解析它以创建您的
List。 -
我的错!我确实使用 JSONArray 和 JSONObject 来分离,但我没有使用 JSONParser。您能否给我一个示例代码,说明如何使用 JSONParser 来获得上述所需的输出。