如何访问Java中的JSON数组?
问题描述:
我需要从我的JSON文件中获取elementId
(如下所示):如何访问Java中的JSON数组?
{
"intents": [{
"type": "PathIntent",
"id": "0x0",
"appId": "org.onosproject.cli",
"resources": ["DefaultLink{src=ConnectPoint{elementId=00:00:00:00:00:01/-1, portNumber=0}, dst=ConnectPoint{elementId=of:0000000000000003, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}", "DefaultLink{src=ConnectPoint{elementId=of:0000000000000003, portNumber=3}, dst=ConnectPoint{elementId=of:0000000000000002, portNumber=1}, type=DIRECT, state=ACTIVE, durable=false}", "DefaultLink{src=ConnectPoint{elementId=of:0000000000000002, portNumber=2}, dst=ConnectPoint{elementId=of:0000000000000004, portNumber=3}, type=DIRECT, state=ACTIVE, durable=false}", "DefaultLink{src=ConnectPoint{elementId=of:0000000000000004, portNumber=2}, dst=ConnectPoint{elementId=00:00:00:00:00:04/-1, portNumber=0}, type=EDGE, state=ACTIVE, durable=false}"],
"state": "INSTALLED"
}]
}
答
为了得到一个JSON阵非常简单:
JSONObject obj = new JSONObject("...");
JSONArray arr = obj.getJSONArray("resources");
你会得到这个元素的数组
"DefaultLink{src=ConnectPoint{elementId=00:00:00:00:00:01/-1, portNumber=0}, dst=ConnectPoint{elementId=of:0000000000000003, portNumber=1}, type=EDGE, state=ACTIVE, durable=false}"
不幸的是,你需要解析字符串我猜。
+0
感谢您的回复。我解析了字符串并得到了。 –
您正在使用哪个解析器? – Biffen
欢迎来到Stack Overflow。在这个[链接](http://*.com/help/how-to-ask)中,你会发现一些提示,以提高你获得答案的机会。 –