我有一个json字符串保存在我的数据库.当我从数据库检索它传递给
javascript函数(ajax调用),以及该行的id,我是json_encoding两个(查询结果数组),并将其传递给js.但是json_encode在我的json字符串中添加了不必要的斜杠.怎么逃避呢记住我必须将id也作为数组中的第二个元素传递.
db中的json字符串如下:
{"field":"City","term":"Hawaiian Gardens,CA"}
而id是5.
$savedVal['id'] = 5 $savedVal['object_str'] = {"field":"City",CA"}
所以在json_encode($savedVal)之后,理想情况下应该是:
{"id":"5","object_str":{"field":"City",CA"}}
但是json_encoding的数组给了我:
{"id":"5","object_str":"{\"field\":\"City\",\"term\":\"Hawaiian Gardens,CA\"}}
object_str值附加斜杠和引号.
请帮帮我.
谢谢.
解决方法
您正在JSON上运行JSON_encode – 这就是为什么会发生双重转义.尝试这个:
$savedVal['id'] = 5 ; $savedVal['object_str'] = json_decode( '{"field":"City",CA"}' ); echo json_encode( $savedVal );
产量
{"id":5,CA"}}