Java org.json.JSONException:没有价格价值

Java org.json.JSONException:没有价格价值,java,android,json,Java,Android,Json,我在android中获得json和解析结果。出现异常,消息为:org.json.JSONException:No value for price 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(JSO

我在android中获得json和解析结果。出现异常,消息为:org.json.JSONException:No value for price

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 URL:

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

如何修复此异常?非常感谢

您可以在赋值之前进行这样的检查

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);
    }
}

你可以在赋值之前先打一张这样的支票

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);
    }
}

抛出以指示JSON API存在问题

FYI

 {
  "id": "551"
  "name": "Rent Disk"
  "price": "3233333"
  "album_id": "3"
  "album": "Michael"
}
发布你的Json

如果上面是您的json,那么它是无效的

对于您的需求,您应该使用JSONObject
.has(“”)和.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");

抛出以指示JSON API存在问题

FYI

 {
  "id": "551"
  "name": "Rent Disk"
  "price": "3233333"
  "album_id": "3"
  "album": "Michael"
}
发布你的Json

如果上面是您的json,那么它是无效的

对于您的需求,您应该使用JSONObject
.has(“”)和.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");


谢谢,我会尝试返回您是否检查了@luongkhanh先生?嗨,Rahul Khurana先生,我已经修复了此错误,我得到了正确的json格式,并且工作正常!我还根据您的代码进行测试和调试,非常完美^^^非常感谢您的帮助谢谢,我会尝试返回您是否检查了@luongkhanh先生?嗨,Rahul Khurana先生,我已修复了此错误,我获得了正确的json格式,它已经工作了!我还根据您的代码进行测试和调试,非常感谢您的帮助您的json无效检查您的json在这个网站上:-您的json无效检查您的json在这个网站上:-嗨,伙计,我已经检查并发现我的json缺少逗号:有效:{“id”:551,“name”:“Cho thue xe Toyota5”,“price”:“3233333”,“album_id”:“3”,“album”:“Huyndai”}无效:{“id”:“551”名称:““出租磁盘”“价格”:“3233333”“专辑id”:“3”“专辑”:“迈克尔”}@luongkhanh抱歉,你的<代码>{“id”:551,“名称”:“Cho thue xe Toyota5”,“价格”:“3233333”,“专辑id”:“3”,“专辑”:“Huyndai”}
现在很完美是的,我明白了,但我不知道如何更改json。请按照服务器上的建议检查我的代码,我将返回给您。您好,IntelliJ Amiya先生,我已经修复了这个错误,只需要获得正确的json格式,就可以了!非常感谢!嗨,伙计,我检查了一下,发现我的json缺少逗号:有效:{“id”:551,“name”:“Cho thue xe Toyota5”,“price”:“3233333”,“album_id”:“3”,“album_id”:“Huyndai”}无效:{“id”:“551”“name”:“Rent Disk”“price”:“3233333”“album”:“Michael”}@luongkhanh抱歉,你的
{“id”:551,“name”:“Cho thue xe Toyota5”,“price”:“3233333”,“album_id”:“3”,“album”:“Huyndai”}
现在很完美是的,我明白了,但我不知道如何更改json更正。我会按照服务器的建议查看我的代码,我会回复你的。你好,IntelliJ Amiya先生,我已经修复了这个错误,只需要获得正确的json格式,就可以了!非常感谢!