将数据文件JSON读取到JAVA
我对JSON有问题;我无法从将数据文件JSON读取到JAVA,java,json,Java,Json,我对JSON有问题;我无法从portblock读取文件,但webblock可以完成 这是test.json { "webblock" : ["www.google.com", "www.youtube.com", "www.facebook.com"], "portblock" : [{ "key" : "80", "value" : "tcp" }, { "key" : "70",
portblock
读取文件,但webblock
可以完成
这是test.json
{
"webblock" : ["www.google.com", "www.youtube.com", "www.facebook.com"],
"portblock" : [{
"key" : "80",
"value" : "tcp"
}, {
"key" : "70",
"value" : "udp"
}
]
}
这是我使用的代码显示webblock
JSONArray msg = (JSONArray) jsonObject.get("webblock");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
block_web(iterator.next());
}
JSONArray msg=(JSONArray)jsonObject.get(“webblock”);
迭代器迭代器=msg.Iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
block_web(iterator.next());
}
帮助我显示
portblock的键和值
看一看。此代码应适用于:
JSONArray msg = (JSONArray) jsonObject.get("webblock");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
block_web(iterator.next());
}
public class DomainName {
List<String> webblock;
List<PortBlock> portblock;
//getter and setters
}
public class PortBlock{
Integer port;
String value;
//getter and setters
}
那么到底是什么问题呢?在循环中调用了两次
next()
,这意味着每次调用都会得到单独的值。将next()
的结果存储在字符串变量中,并使用它代替iterator.next()
。