Java 如何在没有名字的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

如何在android中解析json数组,如下所示:

["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之间的区别