如何从 android 中的 Json 获取所有值?
How to get all values from this Json in android?
我正在尝试获取值但未正确获取,只有一个数组用于显示另一个 "no values" 错误所以请帮助我如何从不同的数组中获取值。
"only name array break and next for output no values found errors shown and app crashes."
{
"project": [{
"name": [{
"sac": "sachin",
"sag": "sagar"
}]
}, {
"output": " true",
"msg1": [{
"emp": "001",
"empname": "sachin"
}, {
"emp": "002",
"empname": "sagar"
}]
}, {
"output_prg": " true",
"msg2": [{
"id": "1",
"pr_code": "SD"
}, {
"id": "002",
"pr_code": "SJ"
}]
}]
}
你可以根据数组的索引解析响应如果它是0索引你可以根据JSON.
解析数据
这里我已经json解析了您的回复。
但是json响应不是标准的(即Json数组的意图没有在项目数组中使用,最好将项目Json数组设为JSONObject 并将每个索引分配为单独的 JSONObject with Json Key)
JSONArray productArray=jsonObject.getJSONArray("project");
if(productArray.length()>0){
JSONObject nameJson=productArray.getJSONObject(0);
JSONArray nameJsonArray=nameJson.getJSONArray("name");
for(int i=0;i<nameJsonArray.length();i++){
JSONObject nameJSonObject=nameJsonArray.getJSONObject(i);
String sac=nameJSonObject.getString("sac");
String sag=nameJSonObject.getString("sag");
}
}
if(productArray.length()>1){
JSONObject outputJSON=productArray.getJSONObject(1);
String outputStatus=outputJSON.getString("output");
JSONArray msgArray=outputJSON.getJSONArray("msg1");
for(int i=0;i<msgArray.length();i++){
JSONObject msgJsonObject=msgArray.getJSONObject(i);
String empStr=msgJsonObject.getString("emp");
String empNameStr=msgJsonObject.getString("empname");
}
}
if(productArray.length()>2){
JSONObject outputJSON=productArray.getJSONObject(2);
String outputPrgStatus=outputJSON.getString("output_prg");
JSONArray msgArray=outputJSON.getJSONArray("msg2");
for(int i=0;i<msgArray.length();i++){
JSONObject msgJsonObject=msgArray.getJSONObject(i);
String idStr=msgJsonObject.getString("id");
String prCodeStr=msgJsonObject.getString("pr_code");
}
}
我正在尝试获取值但未正确获取,只有一个数组用于显示另一个 "no values" 错误所以请帮助我如何从不同的数组中获取值。 "only name array break and next for output no values found errors shown and app crashes."
{
"project": [{
"name": [{
"sac": "sachin",
"sag": "sagar"
}]
}, {
"output": " true",
"msg1": [{
"emp": "001",
"empname": "sachin"
}, {
"emp": "002",
"empname": "sagar"
}]
}, {
"output_prg": " true",
"msg2": [{
"id": "1",
"pr_code": "SD"
}, {
"id": "002",
"pr_code": "SJ"
}]
}]
}
你可以根据数组的索引解析响应如果它是0索引你可以根据JSON.
解析数据这里我已经json解析了您的回复。
但是json响应不是标准的(即Json数组的意图没有在项目数组中使用,最好将项目Json数组设为JSONObject 并将每个索引分配为单独的 JSONObject with Json Key)
JSONArray productArray=jsonObject.getJSONArray("project");
if(productArray.length()>0){
JSONObject nameJson=productArray.getJSONObject(0);
JSONArray nameJsonArray=nameJson.getJSONArray("name");
for(int i=0;i<nameJsonArray.length();i++){
JSONObject nameJSonObject=nameJsonArray.getJSONObject(i);
String sac=nameJSonObject.getString("sac");
String sag=nameJSonObject.getString("sag");
}
}
if(productArray.length()>1){
JSONObject outputJSON=productArray.getJSONObject(1);
String outputStatus=outputJSON.getString("output");
JSONArray msgArray=outputJSON.getJSONArray("msg1");
for(int i=0;i<msgArray.length();i++){
JSONObject msgJsonObject=msgArray.getJSONObject(i);
String empStr=msgJsonObject.getString("emp");
String empNameStr=msgJsonObject.getString("empname");
}
}
if(productArray.length()>2){
JSONObject outputJSON=productArray.getJSONObject(2);
String outputPrgStatus=outputJSON.getString("output_prg");
JSONArray msgArray=outputJSON.getJSONArray("msg2");
for(int i=0;i<msgArray.length();i++){
JSONObject msgJsonObject=msgArray.getJSONObject(i);
String idStr=msgJsonObject.getString("id");
String prCodeStr=msgJsonObject.getString("pr_code");
}
}