2015-02-07 123 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