[英]JSON not parsing in JAVA From PHP
我的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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.