如何访问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" 
    }] 
} 
+0

您正在使用哪个解析器? – Biffen

+1

欢迎来到Stack Overflow。在这个[链接](http://*.com/help/how-to-ask)中,你会发现一些提示,以提高你获得答案的机会。 –

为了得到一个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

感谢您的回复。我解析了字符串并得到了。 –