3 回答
TA贡献1757条经验 获得超8个赞
您发送的参数是 a JSONArray
,而服务器需要的参数是JSONObject
. 的结构JSONObject
类似于{ }
,而 aJSONArray
类似于[ { } , { } , ...... , { } ]
。所以,您可以将参数更改为{"DeviceId":"T","TransactionValue":2,"RSSI":2,"Time":"2018-08-02T14:43:00"}
或编辑服务器的代码以接收参数JSONArray
。
TA贡献1775条经验 获得超8个赞
试试这个:
您需要添加阵列适配器
ArrayList<String> items = new ArrayList<String>();
for(int i=0; i < jArray.length() ; i++) {
json_data = jArray.getJSONObject(i);
String deviceID=json_data.getString("deviceID");
items.add(deviceID);
Log.d(deviceID,"Output"+deviceID);
}
ArrayAdapter<String> mArrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item, items));
setListAdapter(mArrayAdapter);
在Hashmap中添加设备ID它可以工作
TA贡献1848条经验 获得超10个赞
服务器返回的 JSON 字符串是一个 Json 数组,
所以你需要将它转换成一个 Jsonarray 如下,这里的 jsonString 是返回的 JSON 字符串。
try {
JSONArray array=new JSONArray(jsonString);
} catch (JSONException e) {
e.printStackTrace();
}
添加回答
举报