Java 如何在没有名字的android中解析json数组?
如何在android中解析json数组,如下所示:Java 如何在没有名字的android中解析json数组?,java,android,json,Java,Android,Json,如何在android中解析json数组,如下所示: ["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM", "VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG", "PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"] 我尝试的是: try { JSONObject jso
["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
我尝试的是:
try {
JSONObject json = new JSONObject(s);
JSONArray jsonArray = json.names();
for ( int i = 0 ; i < jsonArray.length();i++)
{
Toast.makeText(getApplicationContext(),jsonArray.getInt(i),Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
试试看{
JSONObject json=新的JSONObject;
JSONArray JSONArray=json.names();
for(int i=0;i
但是我没有得到任何输出。试试这个
try {
JSONArray jsonArray = new JSONArray(s);
for ( int i = 0 ; i < jsonArray.length();i++) {
Toast.makeText(getApplicationContext(),jsonArray.getString(i),Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
试试看{
JSONArray JSONArray=新JSONArray;
for(int i=0;i
试试这个
try {
JSONArray jsonArray = new JSONArray(s);
for ( int i = 0 ; i < jsonArray.length();i++) {
Toast.makeText(getApplicationContext(),jsonArray.getString(i),Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
试试看{
JSONArray JSONArray=新JSONArray;
for(int i=0;i
uday的答案是正确的,让我提供一些更详细的解释
JSON提供了两种基本数据结构:对象和数组
对象的格式如下:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
值可以是另一个对象、数组或只是一些数据
另一方面,数组的格式如下所示:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
同样,值可以是一个对象、另一个数组,或者,如您的示例所示,一个简单的数据段
发生错误的原因是您假设接收的数据是一个包含数组的对象。但是,它实际上是一个匿名数组,这意味着您不能解析成JSONObject
,首先,您需要从一开始就使用JSONArray
这是一个匿名数组:
["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
如果它是一个对象(例如,称为myArray),它将如下所示:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
差别很小(只是“myArray”:部分),但必须以正确的方式解析,否则解析器将失败。uday的答案是正确的,让我提供一些更详细的解释 JSON提供了两种基本数据结构:对象和数组 对象的格式如下:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
值可以是另一个对象、数组或只是一些数据
另一方面,数组的格式如下所示:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
同样,值可以是一个对象、另一个数组,或者,如您的示例所示,一个简单的数据段
发生错误的原因是您假设接收的数据是一个包含数组的对象。但是,它实际上是一个匿名数组,这意味着您不能解析成JSONObject
,首先,您需要从一开始就使用JSONArray
这是一个匿名数组:
["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
如果它是一个对象(例如,称为myArray),它将如下所示:
"name":{value(s)}
[{value}, {value}, {value}...]
"myArray":["BHUBANESWAR","BANGALORE CANT","BRAHMAPUR","VISAKHAPATNAM",
"VIJAYAWADA ROAD","ASOKHAR","CHAURAKHERI","BANIHAL","SADURA","ANANTNAG",
"PANJGAM","AWANTIPURA","KAKAPORA","PAMPORE"]
差别很小(只是
“myArray”:
部分),但必须以正确的方式对其进行解析,否则解析器将失败。您确定不会因为试图将字符串强制为int而使每个项都出现异常吗?您确定不会因为试图将字符串强制为int而使每个项都出现异常吗?请参阅此部分以了解JsonArray和JsonObject请参考本文了解JsonArray和JsonObject之间的区别