doufuxing8562 2016-11-28 19:30
浏览 307

JSON.encode正在添加反斜杠

Had to re do this as last question was marked to close as duplicate. BUT the "Duplicate" question was about json decoding not encoding and adding to a file. I have also stated in my question the things I have tried, which as it so happens was the accepted answer on the 'duplicate'.

Please do not mark as duplicate again without actually checking it is.

When I try to create a file with some generated JSON data, the result is like so:

 "{\"1\":{\"title\":\"Sidemen: The Book\",\"ISBN\":\"1473648165\"

as you can see, it has wrapped everything in "" quotes ""

It has also added in lots of: ' \ ' which I don't want.

This is what I currently have:

$json = json_encode($BookList);

and I create the file in PHP like so:

$fp = fopen($filename, 'w');
fwrite($fp, json_encode($json));
fclose($fp);

I have tried:

$json = json_encode($BookList, JSON_UNESCAPED_SLASHES);

and:

$json = json_encode($BookList, JSON_UNESCAPED_SLASHES);
$json_edited = stripslashes($json);

but nothing seems to be working.

Any ideas?

Update

Book list is generated like so:

$BookList[++$id] = [
    'title'  => (string) $item->ItemAttributes->Title,
    'ISBN'   => '' .(string) $item->ItemAttributes->ISBN
];
  • 写回答

1条回答 默认 最新

  • doujiao3998 2016-11-28 19:35
    关注

    You're double-encoding your data, e.g., passing it through json_encode twice. You have

    $json = json_encode($BookList, JSON_UNESCAPED_SLASHES);
    // -----^^^^^^^^^^^
    

    and also

    fwrite($fp, json_encode($json));
    // ---------^^^^^^^^^^^
    

    You only want one of those.

    评论

报告相同问题?

悬赏问题

  • ¥15 我的数据无法存进链表里
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端