在Android中反序列化JSON数据

时间:2014-04-04 07:36:25

标签: android json deserialization

我有以下数据,我被要求对其进行反序列化。但是如何反序列化以下json数据?

"drug": "a:1:{s:6:\"drug_0\";a:3:{s:11:\"drug_name_0\";s:4:\"Napa\";s:13:\"drug_dosage_0\";d:1;s:15:\"drug_duration_0\";d:1;}}"

2 个答案:

答案 0 :(得分:2)

你必须做这样的事情:

JSONObject json = new JSONObject("your json string");

通过调用以下方法获取原语或嵌套的json jbject:getInt()getString()getJSONObject()

答案 1 :(得分:2)

您的JSON不正确。这应该是正确的JSON

String json = "{\"drug\": \"a:1:{s:6:\\\"drug_0\\\";a:3:{s:11:\\\"drug_name_0\\\";s:4:\\\"Napa\\\";s:13:\\\"drug_dosage_0\\\";d:1;s:15:\\\"drug_duration_0\\\";d:1;}}\"}";
JSONObject jsonObject = new JSONObject(json);
String drug = jsonObject.getString("drug");

使用此功能,您可以将drug的值设为a:1:{s:6:\"drug_0\";a:3:{s:11:\"drug_name_0\";s:4:\"Napa\";s:13:\"drug_dosage_0\";d:1;s:15:\"drug_duration_0\";d:1;}}