我在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上完成此操作?
答案 0 :(得分:3)
您的原始JSON字符串(您在第一个代码段中显示的字符串)看起来已经是有效的JSON。你不能编码它。编码它是使JSON无效的原因,将每个标签转换为\ t,将每个新行转换为\ n。
仔细阅读json_encode的文档。