[英]Get Field ID Value from Json Payload using Java
I am trying to get the field_id for the below payload however I am stuck with the below code.我正在尝试获取以下有效负载的 field_id,但是我坚持使用以下代码。 I need the field_id value "70ce3705-0191-4ba4-a635-65108f1c3dde"
我需要 field_id 值“70ce3705-0191-4ba4-a635-65108f1c3dde”
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(new FileReader(jsonfilepath));
JSONObject valid = (JSONObject) jsonObject.get("valid");
JSONArray applications = (JSONArray) jsonObject.get("applications_added");
Payload:有效载荷:
{
"valid": {
"applications_added": [
{
"id": "f8ca0bda-a10c-4e8d-9c1b-6bfd24e93395",
"status": "active",
"custom_fields": [
{
"field_id": "70ce3705-0191-4ba4-a635-65108f1c3dde",
"option_id": "db7bb12d-a26f-413e-b9e5-79af8c28b1e7"
}
]
}
]
}
}
In your code instead of jsonObject.get("applications_added") you sould write valid.get("applications_added")在你的代码而不是 jsonObject.get("applications_ added") 你应该写 valid.get("applications_ added")
The complete solution for your problem.您的问题的完整解决方案。
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(new FileReader(jsonfilepath));
JSONObject valid = (JSONObject) jsonObject.get("valid");
JSONArray applications = (JSONArray) valid.get("applications_added");
JSONObject application = (JSONObject)applications.get(0);
JSONArray custom_fields = (JSONArray) application.get("custom_fields");
JSONObject custom_field = (JSONObject)custom_fields.get(0);
String field_id = (String)custom_field.get("field_id");
Try it:尝试一下:
String payload = "your json";
try {
JSONObject jsonObject =new JSONObject(payload);
JSONObject valid = jsonObject.getJSONObject("valid");
JSONArray apps = valid.getJSONArray("applications_added");
for(int i=0;i<apps.length();i++){
JSONObject app = apps.getJSONObject(i);
JSONArray appFields = app.getJSONArray("custom_fields");
for(int j=0;j<appFields.length();j++){
JSONObject field = appFields.getJSONObject(j);
String fieldId = field.getString("field_id");
System.out.println(fieldId);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.