我的数据库中保存了一个json字符串.当我从db检索它以将其传递给javascript函数(ajax调用),以及该行的id时,我是json_encoding两者(查询结果数组)并将其传递给js.但是json_encode正在为我已经的json字符串添加不需要的斜杠.如何逃避它.记住我必须将id作为数组中的第二个元素传递.
我在db中的json字符串是这样的:
{"field":"City","term":"Hawaiian Gardens, CA"}
Run Code Online (Sandbox Code Playgroud)
并且id是5.
所以PHP中的查询结果数组是:
$savedVal['id'] = 5
$savedVal['object_str'] = {"field":"City","term":"Hawaiian Gardens, CA"}
Run Code Online (Sandbox Code Playgroud)
所以在json_encode($ savedVal)之后理想情况下它应该是:
{"id":"5","object_str":{"field":"City","term":"Hawaiian Gardens, CA"}}
Run Code Online (Sandbox Code Playgroud)
但json_encoding数组给了我:
{"id":"5","object_str":"{\"field\":\"City\",\"term\":\"Hawaiian Gardens, CA\"}}
Run Code Online (Sandbox Code Playgroud)
在object_str值周围也有额外的斜杠和引号.请帮我.
谢谢.
And*_*ndy 19
您正在JSON上运行JSON_encode - 这就是双重转义发生的原因.试试这个:
$savedVal['id'] = 5 ;
$savedVal['object_str'] = json_decode( '{"field":"City","term":"Hawaiian Gardens, CA"}' );
echo json_encode( $savedVal );
Run Code Online (Sandbox Code Playgroud)
产量
{"id":5,"object_str":{"field":"City","term":"Hawaiian Gardens, CA"}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8693 次 |
最近记录: |