我要解析的JSON response.toString()是:
{"res":"01","info":{"SongName":"L\u1ee1 y\u00eaubbbbbbbb","WordNum":"2","PyCode":"LY","Stroke":"0","SingerName1":"Hu\u1ef3nh Nh\u1eadt Huy","SingerName2":"","FileName":"2","Lang":"1","SongTypeID":"3","SingerID1":"123","SingerID2":"456","MType":"1","yTrack":"0","bTrack":"1","yVolume":"92","bVolume":"92","NewSong":"1","style":"9","SongNameSpell":"aaa","SingerNameSpell1":null,"SingerNameSpell2":null}}
然后解析的时候用
JSONObject obj = new JSONObject(response.toString());
String l = obj.getString("Lang");
String w = obj.getString("WordNum");
Log.i("解析后的数据 ", "WordNum" + w);
我这样写了之后后台打印出
没有Lang这个value,
然后经过注释(我没有全试)发现好像我打印哪个值都会有这样的提示 请问这是什么原因啊。。。
JSONObject obj = new JSONObject(response.toString());
JSONObject objInfo = obj.getJSONObject("info");
String l = objInfo.getString("Lang");
Lang 的值包含在info 标签中,所以要先取到 info的值,再取里面的 Lang值;
{
"res": "01",
"info": {
"SongName": "Lỡ yêubbbbbbbb",
"WordNum": "2",
"PyCode": "LY",
"Stroke": "0",
"SingerName1": "Huỳnh Nhật Huy",
"SingerName2": "",
"FileName": "2",
"Lang": "1",
"SongTypeID": "3",
"SingerID1": "123",
"SingerID2": "456",
"MType": "1",
"yTrack": "0",
"bTrack": "1",
"yVolume": "92",
"bVolume": "92",
"NewSong": "1",
"style": "9",
"SongNameSpell": "aaa",
"SingerNameSpell1": null,
"SingerNameSpell2": null
}
}
我这里有一个JSON 解析和生成的专门教学视频,有空你可以看一下:
http://edu.csdn.net/course/detail/2295