2015-02-07 125 views
2

我用json_encode();将字符串转换为json在PHP中,然后将其响应到android但我不能使用响应,我怎么能将json转换为字符串? 当我显示响应它表明这样的:解码json对象到字符串android

“{\ n'OK ':\ N [\ N {\ n'Name': 'MYNAME',\ n'Gender ':' 男'\ N} \ n] \ n}“ 我该怎么办?

谢谢

+0

无需追加'\ N'阅读从流 – 2015-02-07 15:54:01

+0

我不追加此回应时,每行后是我从PHP得到 – user3398919 2015-02-07 15:57:34

+0

可能重复[如何解析JSON从Java HTTPResponse?](http://stackoverflow.com/questions/2845599/how-do-i-parse-json-from-a-java-httpresponse) – Maks3w 2015-02-07 16:14:11

回答

1

因为你只是将字符串转换成JSON,其实不是返回一个JSONObject或JSONArray,根据:http://php.net/manual/en/function.json-decode.php

如果必须返回一个字符串,你可能需要使用一些JSON库或写你自己的解析器。

如果这听起来不太吸引人,我建议返回一个JSONObject或JSONArray一个元素。

例如:

PHP

echo json_encode(array('result' => 'the string you are encoding')); 

的Java

JSONObject json = new JSONObject(encodedStringResponseFromPhp); 
String theStringYouEncoded = (String) json.get("result"); 

你需要一个throws JSONException添加到您的功能也添加这个java代码或将它在一个try catch块内。

0

编辑:您应该使用Douglas Crockford的json2.js库。它提供了一些额外的功能和更好的/旧的浏览器支持。

Read more...

+1

jquery?我正在谈论android(java) – user3398919 2015-02-07 19:32:52