2016-10-13 81 views
1

我得到了結果json和解析在android中。異常情況下出現一條消息:org.json.JSONException:價格沒有價值org.json.JSONException:沒有價值的價值

W/System.err: org.json.JSONException: No value for price 
W/System.err:  at org.json.JSONObject.get(JSONObject.java:389) 
W/System.err:  at org.json.JSONObject.getString(JSONObject.java:550) 

我的Java類

JSONParser jsonParser = new JSONParser(); 

// tracks JSONArray 
JSONArray albums = null; 

// Album id 
String album_id = null; 
String song_id = null; 

String album_name, song_name, price; 

// single song JSON url 
// GET parameters album, song 
private static final String URL_SONG = "my url"; 


// ALL JSON node names 
private static final String TAG_NAME = "name"; 
private static final String TAG_PRICE = "price"; 
private static final String TAG_ALBUM = "name";  // album 
... 
try { 
     JSONObject jObj = new JSONObject(json); 
     if(jObj != null){ 
      song_name = jObj.getString(TAG_NAME); 
      album_name = jObj.getString(TAG_ALBUM); 
      price = jObj.getString(TAG_PRICE); 
     } 
} 
catch (JSONException e) { 
     e.printStackTrace(); 
} 

我的JSON網址:

{ 
    "id": "551" 
    "name": "Rent Disk" 
    "price": "3233333" 
    "album_id": "3" 
    "album": "Michael" 
} 

如何解決這個異常?非常感謝 !!

+0

您的JSON無效 –

+0

檢查您在本網站JSON嘗試: - HTTP://www.jsoneditoronline .org/ – musica

回答

4

你可以把這樣的檢查將值

JSONObject jObj = new JSONObject(json); 
if(jObj != null) { 
    if(jObj.has(TAG_NAME)) { 
     song_name = jObj.getString(TAG_NAME); 
    } 
    if(jObj.has(TAG_ALBUM)){ 
     album_name = jObj.getString(TAG_ALBUM); 
    } 
    if(jObj.has(TAG_PRICE)){ 
     price = jObj.getString(TAG_PRICE); 
    } 
} 
+0

謝謝,我會盡力回覆 – luongkhanh

+0

okk請讓我知道 –

+0

你有沒有檢查@luongkhanh先生? –

4

JSONException

拋出,表明與JSON API

FYI

問題之前
{ 
    "id": "551" 
    "name": "Rent Disk" 
    "price": "3233333" 
    "album_id": "3" 
    "album": "Michael" 
} 

安置自己的Json Here

如果上面是你的JSON然後它是無效的

對於您的要求,您應該使用JSONObject.has("") and .isNull("")方法。

編輯

你完美的JSON是

{ "id": 551, "name": "Cho thue xe Toyota5", "price": "3233333", "album_id": "3", "album": "Huyndai" } 

與此

JSONObject myJson = new JSONObject(json); 
String getName = myJson.optString("name"); 
int getID= myJson.optInt("id"); 
+1

恩說爵士.... –

+1

傢伙嗨,我有檢查,看看我的JSON是缺少逗號: 有效: { \t 「ID」:551, \t 「名」: 「卓圖厄XE Toyota5」, \t 「價格」:「3233333 」 \t 「album_id」: 「3」, \t 「專輯」: 「Huyndai」 } 無效: { 「ID」: 「551」 「名」: 「租盤」 「價格」: 「3233333」 「album_id」:「3」 「album」:「Michael」 } – luongkhanh

+0

@luongkhanh nope,S直到無效 –