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"}}
精彩评论