2014-04-04 301 views
0

我有以下数据,我被要求将其反序列化。但是如何去序列化下面的json数据?在Android中反序列化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;}}" 
+1

使用http://jsonlint.com/验证您的JSON。这json对我来说似乎不正确。 –

+0

我的解决方案有用吗? –

回答

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

2

你必须做这样的事情:

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

,并从那里通过调用方法,如获取原语或嵌套JSON jbjects:getInt()getString()getJSONObject()