我必须从json
中提取一些数据。
在HTTP GET
之后,我将xml
(网站仅提供xml
)转换为json
。
当我尝试从json
中提取数据时,我收到了错误。
一些建议? 提前致谢
Xml --> <data> <user id = "value" name="value" surname = "value" /> </data>
转换后我有类似的东西
Json --> {"data":{"user":[{"id":"value","name":"value","surname":"value"}]}}
void convert(){
String xml; //data from HTTP GET
JSONObject jsonObj = null;
JSONObject data = jsonObj.getJSONObject("data");
Log.d("JSON LOG","DATA: " + data.toString());
try{
jsonObj = XML.toJSONObject(xml);
JSONArray jArray = jsonObj.getJSONArray("user");
for (int i = 0 ; i < jArray.length(); i++){
JSONObject jsonObject = jArray.getJSONObject(i);
String id = jsonObject.getString("id");
Log.d("JSON LOG","ID: " + id);
String name = jsonObject.getString("name");
Log.d("JSON LOG","NAME: " + name);
String sname = jsonObject.getString("surname");
Log.d("JSON LOG","SNAME: " + sname);
}catch(JSONException e){
Log.e("JSON Exception",e.getMessage());
e.printStackTrace();
}
}//end void
我从catch
---&gt;收到以下错误E/JSON Exception: No value for user
答案 0 :(得分:1)
在JSONArray jArray = jsonObj.getJSONArray("user");
JSONObject jObj1 = jsonObj.getJSONObject("data");
您的user
JSONArray位于JSONObject data
内。