如何读取网站服务器上json,如何从服务器读取此json数据?

  • Post author:
  • Post category:其他

{

“DS”: {

“LST”: [

{

“OID”: 1,

“OCD”: “1”,

“OPE”: “AIRCEL”,

“IPH”: “Images/provider/aircelsm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 2,

“OCD”: “3”,

“OPE”: “AIRTEL”,

“IPH”: “Images/provider/airtelsm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 4,

“OCD”: “4”,

“OPE”: “BSNL”,

“IPH”: “Images/provider/bsnlsm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 6,

“OCD”: “5”,

“OPE”: “DOCOMO”,

“IPH”: “Images/provider/docomosm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 7,

“OCD”: “6”,

“OPE”: “IDEA”,

“IPH”: “Images/provider/ideasm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 8,

“OCD”: “7”,

“OPE”: “MTS”,

“IPH”: “Images/provider/mtssm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 5,

“OCD”: “8”,

“OPE”: “RELAINCE”,

“IPH”: “Images/provider/reliancesm.jpg”,

“MIL”: 10,

“MXL”: 10

},

{

“OID”: 3,

“OCD”: “9”,

“OPE”: “VODAFONE”,

“IPH”: “Images/provider/vodafonesm.jpg”,

“MIL”: 10,

“MXL”: 10

}

]

}

}

读取JSON数据,并读取图像我已经尝试了代码,但它不是什么错在我code.How工作

ArrayList selectedNetwork = new ArrayList<>();

if(jsonStr != null){

JSONObject json = null;

SpinnerMenu spinnerData = new SpinnerMenu();

try {

JSONObject json = new JSONObject(jsonStr);

} catch (JSONException e1) {

e1.printStackTrace();

}

// Create the root JSONObject from the JSON string.

JSONObject jsonRootObject = null;

jsonRootObject = json.optJSONObject(“DS”);

//Get the instance of JSONArray that contains JSONObjects

JSONArray jsonArray = jsonRootObject.optJSONArray(“LST”);

//Iterate the jsonArray and print the info of JSONObjects

for(int i=0; i < jsonArray.length(); i++){

JSONObject jsonObject = null;

try {

jsonObject = jsonArray.getJSONObject(i);

} catch (JSONException e1) {

e1.printStackTrace();

}

String iph = null;

String oid = jsonObject.optString(“OID”).toString();

String ocd = jsonObject.optString(“OCD”).toString();

String opd = jsonObject.optString(“OPE”).toString();

String mil = jsonObject.optString(“MIL”).toString();

String mxl = jsonObject.optString(“MXL”).toString();

try {

iph = jsonObject.getString(“IPH”).toString();

} catch (JSONException e1) {

e1.printStackTrace();

}

String urldisplay = “http://192/TotalRecharge/”+iph;

Bitmap mIcon11 = null;

try {

InputStream in = new java.net.URL(urldisplay).openStream();

mIcon11 = BitmapFactory.decodeStream(in);

} catch (Exception e3) {

e3.printStackTrace();

}

spinnerData.setOid(oid);

spinnerData.setOcd(ocd);

spinnerData.setOpd(opd);

spinnerData.setMil(mil);

spinnerData.setMix(mxl);

spinnerData.setImage(mIcon11);

selectedNetwork.add(spinnerData);

}

让有问题JSON数据并将其保存在一个ArrayList中。在我的代码中,当我获取JSON数据并保存在一个ArrayList中但它返回null。我不知道如何解决这个问题。请帮助我

+0

你没有,甚至尝试将其保存在数组列表.. –

+0

ArrayList selectedNetwork = new ArrayList <>();它是局部变量还是实例,如果它是实例它应该工作。如果它是本地的,它不会在方法的一边工作。 –

+0

@ ImAtWar请看我的代码selectedNetwork.add(spinnerData);选择的网络是arraylist –