gpt4 book ai didi

java - 如何使用Java解析Json?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:09 26 4
gpt4 key购买 nike

我想在java中解析一个json对象。json文件是{"l1":"1","l2":"0","f1":"0","connected":"0","全部":"0"我正在尝试编写一个 java 程序在 json 上面打印为

l1=1
l2=0
f1=0
connected=0
all=0

json 文件中的条目数可以增加,所以我必须遍历 json 并打印所有数据。这是我到目前为止所做的。

public class main {
public static void main(String[] args){
try{
URL url = new URL("http://localhost/switch.json");
JSONTokener tokener = new JSONTokener(url.openStream());
JSONObject root = new JSONObject(tokener);
JSONArray jsonArray = root.names();
if (jsonArray != null) {
int len = jsonArray.length();
for (int i=0;i<len;i++){
System.out.println(jsonArray.get(i).toString());
}
}
}catch (Exception e) {
e.printStackTrace();
System.out.println("Error Occured");
}
}
}

上面的程序只能打印每个数组的第一项。但我正在尝试得到我一开始提到的结果。有人可以帮忙吗??

最佳答案

它是简单的 JSON 对象,不是数组。您需要遍历键并打印数据:

    JSONObject root = new JSONObject(tokener);
Iterator<?> keys = root.keys();

while(keys.hasNext()){
String key = (String)keys.next();
System.out.println(key + "=" + root.getString(key));
}

请注意,由于内部使用了 HashMap,上述解决方案以随机顺序打印键。请引用this SO question描述此行为。

关于java - 如何使用Java解析Json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com