JSON未在JAVA From PHP中进行解析


JSON not parsing in JAVA From PHP

My JSON未在Java中进行解析。它返回NULL值。结果字符串正在返回正确的数据。

JSON是

[
    {
        "ad": 1,
        "adid": "1",
        "price": "15.00",
        "adtitle": "title",
        "user_id": "3"
    }
]

代码如下

protected void onPostExecute(String result){
    JsonParserFactory factory=JsonParserFactory.getInstance();
    JSONParser parser=factory.newJsonParser();
    Map jsonData=parser.parseJson(result);
    String id=(String)jsonData.get("adid");
    String price=(String)jsonData.get("price");
    String adtitle=(String)jsonData.get("adtitle");
    String user_id=(String)jsonData.get("user_id");
    Log.e(TAG, "adid:" + id);
    Log.e(TAG, "price:" + price);
    Log.e(TAG, "title:" + adtitle);
    Log.e(TAG, "user id:" + user_id);
}

使用https://code.google.com/p/quick-json/

试试这个,自己看看错误:

public static void main(String[] args) {
    String result = "[   {   '"ad'": 1,     '"adid'": '"1'",  '"price'": '"15.00'",   '"adtitle'": '"title'",   '"user_id'": '"3'"  }]  ";
    JsonParserFactory factory=JsonParserFactory.getInstance();
    JSONParser parser=factory.newJsonParser();
    Map jsonData=parser.parseJson(result);

    String id=(String)jsonData.get("adid");
    String price=(String)jsonData.get("price");
    String adtitle=(String)jsonData.get("adtitle");
    String user_id=(String)jsonData.get("user_id");
    System.out.println(id);
    System.out.println(price);
    System.out.println(adtitle);
    System.out.println(user_id);
}

这样做奏效了:

JsonParserFactory factory=JsonParserFactory.getInstance();
JSONParser parser=factory.newJsonParser();
Map jsonData=parser.parseJson(result);
List list=(List) jsonData.get("root");
String id=(String) ((Map)list.get(0)).get("adid");

你可以试试这个:

JsonParserFactory factory=JsonParserFactory.getInstance();
JSONParser parser=factory.newJsonParser();
Map jsonData=parser.parseJson(result);
List al=rootJson.get("root");
String id=((Map)al.get(0)).get("id");

更多详细信息

更新


针对OP情况最终运行的代码:

JsonParserFactory factory=JsonParserFactory.getInstance();
JSONParser parser=factory.newJsonParser();
Map jsonData=parser.parseJson(result);
List list=(List) jsonData.get("root");
String id=(String) ((Map)list.get(0)).get("adid");