经过搜索并尝试了很多例子后才询问。 我正在尝试从 json 动态获取值列表,以便插入到 array 中。
json 看起来像:
{
"Test_name":"mft",
"parameters":[
{
"Remotehost":"vl-tlv-ctm-qa22",
"Ftptype":"sftp",
"file_name":"blabla.txt"
}
]
}
我正在使用以下代码:
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(new FileReader("c:/temp/test.txt"));
JSONObject jsonObject = (JSONObject) obj;
String testname = (String) jsonObject.get("Test_name");
System.out.println(testname)
JSONArray msg = (JSONArray) jsonObject.get("parameters");
Iterator<JSONObject> iterator = msg.iterator();
while (iterator.hasNext()) {
JSONObject factObj = (JSONObject) iterator.next();
System.out.println(factObj);
输出是:
mft
{"Remotehost":"vl-tlv-ctm-qa22","file_name":"blabla.txt","Ftptype":"sftp"}
如何打破嵌套中的对,以便我可以将其用作变量而不是单行?
谢谢, 佐哈尔
最佳答案
您可以从 JSONObject 获取键值对,如下所示:
while (iterator.hasNext()) {
JSONObject factObj = (JSONObject) iterator.next();
for (Object key : factObj.keySet()) {
System.out.println(key+":"+factObj.get(key));
}
}
关于java - 使用 json.simple 动态获取对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37303600/