开发者

json_encode adding unwanted slashes

I have a json string saved in my db. When i retrieve it from db to pass it to the javascript function (ajax call) , along with the id of that row, i am json_encoding both (the query result array) and passing it to js. but json_encode is adding unwanted slashes to my already json string. how to escape it. remember i have to pass the id also as second element in array.

my json string in db is like:

{"field":"City","term":"Hawaiian Gardens, CA"}

and the id is say 5.

so the query result array in PHP is:

$savedVal['id'] = 5 
$savedVal['object_str'] = {"field":"City","term":"开发者_开发百科Hawaiian Gardens, CA"}

so after json_encode($savedVal) ideally it should be:

{"id":"5","object_str":{"field":"City","term":"Hawaiian Gardens, CA"}}

but json_encoding the array gives me:

{"id":"5","object_str":"{\"field\":\"City\",\"term\":\"Hawaiian Gardens, CA\"}}

extra slashes and quotes too around object_str value. Please help me.

Thank you.


You are running JSON_encode on JSON - this is why the double escaping occurs. Try this:

$savedVal['id'] = 5 ;
$savedVal['object_str'] = json_decode( '{"field":"City","term":"Hawaiian Gardens, CA"}' );

echo json_encode( $savedVal );

Output

{"id":5,"object_str":{"field":"City","term":"Hawaiian Gardens, CA"}}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜