【问题标题】:How to encode json in java for Android如何在 Java 中为 Android 编码 json
【发布时间】:2015-02-28 03:23:25
【问题描述】:

我正在尝试将一些数据编码为 JSON 格式并将其发送到 PHP Server 脚本以存储到 mysql。我能够以 JSON 格式对数据进行编码,但是当将相同的数据传输到 PHP 时,我在 doublecoloum 上得到一个“\”反冲。下面是我的输出的样子。

[{\"enquiry_no\":\"1\"},{\"enquiry_no\":\"2\"},{\"enquiry_no\":\"3\"},{\"enquiry_no\":\"4\"},{\"enquiry_no\":\"5\"},{\"enquiry_no\":\"6\"},{\"enquiry_no\":\"7\"},{\"enquiry_no\":\"8\"},{\"enquiry_no\":\"9\"},{\"enquiry_no\":\"10\"},{\"enquiry_no\":\"11\"},{\"enquiry_no\":\"12\"},{\"enquiry_no\":\"13\"},{\"enquiry_no\":\"14\"},{\"enquiry_no\":\"15\"},{\"enquiry_no\":\"16\"},{\"enquiry_no\":\"17\"},{\"enquiry_no\":\"18\"},{\"enquiry_no\":\"19\"},{\"enquiry_no\":\"20\"},{\"enquiry_no\":\"21\"},{\"enquiry_no\":\"22\"},{\"enquiry_no\":\"23\"},{\"enquiry_no\":\"24\"},{\"enquiry_no\":\"25\"},{\"enquiry_no\":\"26\"},{\"enquiry_no\":\"27\"},{\"enquiry_no\":\"28\"},{\"enquiry_no\":\"29\"},{\"enquiry_no\":\"30\"},{\"enquiry_no\":\"31\"},{\"enquiry_no\":\"32\"},{\"enquiry_no\":\"33\"},{\"enquiry_no\":\"34\"},{\"enquiry_no\":\"35\"},{\"enquiry_no\":\"36\"},{\"enquiry_no\":\"37\"},{\"enquiry_no\":\"38\"},{\"enquiry_no\":\"39\"},{\"enquiry_no\":\"40\"},{\"enquiry_no\":\"41\"},{\"enquiry_no\":\"42\"},{\"enquiry_no\":\"43\"},{\"enquiry_no\":\"44\"},{\"enquiry_no\":\"45\"},{\"enquiry_no\":\"46\"},{\"enquiry_no\":\"47\"},{\"enquiry_no\":\"48\"},{\"enquiry_no\":\"49\"},{\"enquiry_no\":\"50\"},{\"enquiry_no\":\"51\"},{\"enquiry_no\":\"52\"},{\"enquiry_no\":\"53\"},{\"enquiry_no\":\"54\"},{\"enquiry_no\":\"55\"},{\"enquiry_no\":\"56\"},{\"enquiry_no\":\"57\"},{\"enquiry_no\":\"58\"},{\"enquiry_no\":\"59\"},{\"enquiry_no\":\"60\"},{\"enquiry_no\":\"61\"},{\"enquiry_no\":\"62\"},{\"enquiry_no\":\"63\"},{\"enquiry_no\":\"64\"},{\"enquiry_no\":\"65\"}]

下面是发送数据到PHP服务器的andorid代码

// Send POST data request

URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

PHP 服务器代码如下

<?php

$data = $_POST["data"];

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $data);
fclose($fh)

?>

【问题讨论】:

    标签: java php android json


    【解决方案1】:

    在 PHP 中使用 stripslashes 删除“\”反冲:

    $jsonString= urldecode(stripslashes($data));
    

    $jsonString=json_encode($data, JSON_UNESCAPED_SLASHES);
    

    【讨论】:

    • 我想提一下,有时当我这样做时,我必须将它们包装在 {} 中。喜欢:echo "{" . @json_encode($data) . "}"; 有时我必须这样做,有时我不这样做。但无法告诉你为什么。
    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2022-01-09
    • 2020-09-04
    • 2014-07-25
    • 2017-09-16
    • 1970-01-01
    相关资源
    最近更新 更多