Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从JSON获取动态可变的“id”?(已完成)_Java - Fatal编程技术网

Java 如何从JSON获取动态可变的“id”?(已完成)

Java 如何从JSON获取动态可变的“id”?(已完成),java,Java,我需要从这个JSON中获取id我如何才能获取它?id可动态更改 [{"id":"e28bad5b-661e-4026-983f-60e809a9cd32","name":"kjgkjgk","status":"HEALTHY","containers":[{"id":"f397c436-7701-4965-acff-980bee1b1ebd","environmentId":"e28bad5b-661e-4026-983f-60e809a9cd32","hostname":"master1d1e

我需要从这个JSON中获取id我如何才能获取它?id可动态更改

[{"id":"e28bad5b-661e-4026-983f-60e809a9cd32","name":"kjgkjgk","status":"HEALTHY","containers":[{"id":"f397c436-7701-4965-acff-980bee1b1ebd","environmentId":"e28bad5b-661e-4026-983f-60e809a9cd32","hostname":"master1d1ea96172224bff98214e57f1839a48"]}

首先,您需要创建json对象,并在此对象中传递jsonobject名称。 通过使用此对象,可以轻松获取字符串标记

String data=[{"id":"e28bad5b-661e-4026-983f-60e809a9cd32","name":"kjgkjgk","status":"HEALTHY","containers":[{"id":"f397c436-7701-4965-acff-980bee1b1ebd","environmentId":"e28bad5b-661e-4026-983f-60e809a9cd32","hostname":"master1d1ea96172224bff98214e57f1839a48"]};

JSONArray jsonArray = new JSONArray(data);
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = (JSONObject) jsonArray.get(i);
    String id = jsonObject.getString("id");
}

如上所述,我会做剩下的事,好的,伙计们,这比看起来容易多了。打开FireBug,打开IntellijIdea,使用xpath,将其命名为数据


就这样。

您能提供多一点代码吗?“太少了。”尼古拉:当然。。附言:首先,看看是什么,在你也会注意到你的格式中有问题之后,通过@drgPP注释,你可以使用JSON库。e、 你不能直接做这件事。这是一个数组。@hemant1087,谢谢你的回答+我对你们的业力很感兴趣,如何通过数组来实现。这只适用于示例数据。任何其他json对象,只要发生最轻微的更改,例如id属性名称变为不带引号或在分号后添加空格,代码就会失败,因为值不再位于位置8。它不会失败,工作正常,8到44之间的数据更改包括在内。我不知道,也许你是对的,但在我的情况下,数字和字母是可变的,你不必试图理解我说的话,你自己去看只是时间问题。
String id = data.getText().substring(8, 44);