douyaju4259 2017-06-27 07:20
浏览 264
已采纳

php json_encode()在斜线[重复]之前自动添加斜杠

This question already has an answer here:

I am storing my data in the form of json to the database. User can input with quotes, so i am manually adding slashes before the quotes. So my data becomes like this

array:8 [▼
  "buttonText" => "Large Button"
  "campName" => "Large\'s Button Test"
  "buttonSize" => "1"
]

But when i am converting it into json, the json_encode() function automatically added one more slash before my slash as

"{"buttonText":"Large Button","campName":"Large\\'s Button Test","buttonSize":"1"}"

Why the extra slash will be added, is there any option to prevent that

</div>
  • 写回答

2条回答 默认 最新

  • doushou3814 2017-06-27 07:26
    关注

    Why you do like this? Is totaly bad thing adding slashes manualy.

    You can just generate JSON using arrays like:

    $arr=array();
    
    $arr['buttonText']="Large Button";
    $arr['campName']="Large's Button Test";
    $arr['buttonSize']=1;
    
    echo json_encode($arr);
    

    Just use json_encode() to store values and json_decode() to get values.

    Here is diferent aproach:

    $arr=array(
        'buttonText'=>"Large Button",
        'campName'=>"Large's Button Test",
        'buttonSize'=>1,
    );
    
    echo json_encode($arr);
    

    JSON ENCODE - Manual

    JSON DECODE - Manual

    json_encode() adding slashes automaticaly and json_decode() remove it. You don't need to think about that. Just don't worry and be happy.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?