我在解码json字符串方面遇到了困难。下面是我的json字符串:
{
"udeals":"[{\"vName\":\"bussinessname3\",\"vAddress\":\"address3\",\"vState\":\"Kerala\",\"vZip\":\"232\",\"vCountry\":\"Algeria\",\"id\":\"3\",\"dealCategoryID\":\"2\",\"dealCaption\":\"deal3\",\"dealurl\":\"http:\\/\\/192.168.0.8\\/ppppp\\/deals\\/deal3-3\\/\",\"dealImage\":\"http:\\/\\/192.168.0.8\\/ppppp\\/images\\/deals\\/thumb390x256\\/Duizl1.jpg\",\"dealPrice\":\"50.00\",\"dealCost\":\"100.00\",\"dealSave\":-50,\"dealOfferRate\":\"50.00\",\"jsDeadLine\":{\"seconds\":0,\"minutes\":0,\"hours\":0,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294165800},\"unlockedStamp\":{\"seconds\":53,\"minutes\":56,\"hours\":18,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294234013},\"description\":\"Google URL Shortener at goo.gl is used by Google products to create short URLs that can be easily shared, tweeted, or emailed to friends.\"},{\"vName\":\"bussinessname20010\",\"vAddress\":\"address20010\",\"vState\":\"Kerala\",\"vZip\":\"232\",\"vCountry\":\"Argentina\",\"id\":\"20010\",\"dealCategoryID\":\"2\",\"dealCaption\":\"deal20010\",\"dealurl\":\"http:\\/\\/192.168.0.8\\/ppppp\\/deals\\/deal20010-20010\\/\",\"dealImage\":\"http:\\/\\/192.168.0.8\\/ppppp\\/images\\/deals\\/thumb390x256\\/oCcfTj.jpg\",\"dealPrice\":\"50.00\",\"dealCost\":\"100.00\",\"dealSave\":-50,\"dealOfferRate\":\"50.00\",\"jsDeadLine\":{\"seconds\":0,\"minutes\":0,\"hours\":0,\"mday\":28,\"wday\":2,\"mon\":12,\"year\":2010,\"yday\":361,\"weekday\":\"Tuesday\",\"month\":\"December\",\"0\":1293474600},\"unlockedStamp\":{\"seconds\":53,\"minutes\":56,\"hours\":18,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294234013},\"description\":\"this is\"}]"
}
任何人都可以给我一个如何在Android中解析它的解决方案......
答案 0 :(得分:9)
可以使用以下代码解析此json。
str="<The Json>"
try {
JSONObject jObject=new JSONObject(str);
JSONArray menuObject = new JSONArray(jObject.getString("udeals"));
for (int i = 0; i<menuObject.length(); i++) {
System.out.println("length="+menuObject.length());
System.out.println("vName="+menuObject.getJSONObject(i)
.getString("vName").toString());
System.out.println("vAddress="+menuObject.getJSONObject(i).getString(
"vAddress").toString());
System.out.println("vState="+menuObject.getJSONObject(i)
.getString("vState").toString());
System.out.println("vZip="+menuObject.getJSONObject(i).getString(
"vZip").toString());
System.out.println("vCountry="+menuObject.getJSONObject(i)
.getString("vCountry").toString());
System.out.println("dealCategoryID="+menuObject.getJSONObject(i)
.getString("dealCategoryID").toString());
System.out.println("dealCaption="+menuObject.getJSONObject(i).getString(
"dealCaption").toString());
System.out.println("dealImage="+menuObject.getJSONObject(i)
.getString("dealImage").toString());
System.out.println("dealPrice="+menuObject.getJSONObject(i).getString(
"dealPrice").toString());
System.out.println("dealCost="+menuObject.getJSONObject(i)
.getString("dealCost").toString());
System.out.println("dealSave="+menuObject.getJSONObject(i).getString(
"dealSave").toString());
System.out.println("dealOfferRate="+menuObject.getJSONObject(i)
.getString("dealOfferRate").toString());
System.out.println("jsDeadLine="+menuObject.getJSONObject(i).getString(
"jsDeadLine").toString());
jsDeadLine=menuObject.getJSONObject(i).getString("jsDeadLine").toString();
JSONObject deadLine= new JSONObject(jsDeadLine);
String seconds = deadLine.getString("seconds");
String minutes = deadLine.getString("minutes");
String hours = deadLine.getString("hours");
String mday = deadLine.getString("mday");
String wday = deadLine.getString("wday");
String mon = deadLine.getString("mon");
String year = deadLine.getString("year");
String yday = deadLine.getString("yday");
String weekday = deadLine.getString("weekday");
String month = deadLine.getString("month");
System.out.println("seconds:"+seconds);
System.out.println("minutes:"+minutes);
System.out.println("hours:"+hours);
System.out.println("unlockedStamp="+menuObject.getJSONObject(i)
.getString("unlockedStamp").toString());
unlockedStamp=menuObject.getJSONObject(i).getString("unlockedStamp").toString();
JSONObject unlocked= new JSONObject(unlockedStamp);
String unlockedseconds = unlocked.getString("seconds");
String unlockedminutes = unlocked.getString("minutes");
String unlockedhours = unlocked.getString("hours");
String unlockedmday = unlocked.getString("mday");
String unlockedwday = unlocked.getString("wday");
String unlockedmon = unlocked.getString("mon");
String unlockedyear = unlocked.getString("year");
String unlockedyday = unlocked.getString("yday");
String unlockedweekday = unlocked.getString("weekday");
String unlockedmonth = unlocked.getString("month");
System.out.println("unlockedseconds:"+unlockedseconds);
System.out.println("unlockedminutes:"+unlockedminutes);
System.out.println("unlockedhours:"+unlockedhours);
System.out.println("description="+menuObject.getJSONObject(i).getString(
"description").toString());
System.out.println("id="+menuObject.getJSONObject(i)
.getString("id").toString());
System.out.println("dealurl="+menuObject.getJSONObject(i).getString(
"dealurl").toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 1 :(得分:5)
JSONObject json = new JSONObject(yourstring);
JSONArray jsa = json.getJSONArray("udeals");
....
这很简单:http://developer.android.com/reference/org/json/JSONObject.html