0

我在 php 文件中创建了一个 JSON 字符串。然后我用来json_encode($jsonStr)对字符串进行编码。

$jsonStr = 
            "{
                \"statusCode\": 0,
                \"errorMsg\": \"SUCCESS\",
                \"id\": $id,
                \"message\": ".json_encode($message).",
                \"author\": \"$author\",
                \"showAfter\": \"$date\"
            }";

我正在 java (Android) 中进行网络调用以获取此字符串。我的下一步是解码字符串,但这似乎不太好用。

这是我试图在我的 Android 代码中解码的示例:

{\n\t\t\t\t\"statusCode\": 0,\n\t\t\t\t\"errorMsg\": \"SUCCESS\",\n\t\t\t\t\"id\": 1,\n\t\t\t\t\"message\": \"This is a message.\",\n\t\t\t\t\"author\": \"Anonymous\",\n\t\t\t\t\"showAfter\": \"2013-06-18 01:19:49\"\n\t\t\t}

是的,它充斥着编码换行符等。我认为这可能是问题,所以我把它们拿出来了,但是我仍然有问题,所以我猜肯定有更大的事情发生。我知道这是有效的 JSON,因为我能够对其进行解码并在基于 javascript 的网站中使用它。

我怎样才能在 Android/Java 上做到这一点?

4

1 回答 1

3

您的原始 JSON 字符串(您在第一个片段中显示的那个)看起来已经是有效的 JSON。您不得对其进行编码。对其进行编码使其成为无效的 JSON,将每个制表符转换为 \t,并将每个新行转换为 \n。

仔细阅读json_encode的文档。

于 2013-06-30T21:12:02.360 回答