2012-03-04 6 views
1

Извините, если я ошибаюсь, у меня проблема с двойными кавычками ("") при кодировании json string.encode json string с кавычками

Коротко: У меня есть строка, которая идентифицирует высота

height = "5'2"" - 157 cm"; (5 футов 2 дюйма - 157 сантиметров)

, когда я разобрать его через json_encode в PHP, это кодирующий тонкие, но строковые дисплеи

"height":"5'2\"\" - 157 cm" 

после кодирования в строке json, я не хочу, чтобы обратная косая черта (\) отображалась в интерфейсе. Итак, как удалить обратную косую черту (\). Помоги мне. Заранее спасибо

+1

Вы, безусловно, хотите обратную косую черту, когда текст преобразуется в JSON. В противном случае JSON будет недействительным. (Хотя непонятно, почему вы хотите, чтобы метка дюйма дважды.) –

+0

'\" '- это escape-последовательность, которая сообщает декодеру (в котором когда-либо язык), что' '' нужно воспринимать буквально (т. Е. Является частью строки) и * не обозначает * конец строкового значения. –

+0

ОК. Спасибо, ребята –

ответ

4

после кодирования в JSon строки, я не хочу, обратный слеш(), который будет отображаться на переднем конце.

Косые черты являются частью формата JSON, они там по дизайну и не должны быть удалены без необходимости.

Они исчезнут, если вы запустите json_decode() перед отображением данных во фронте.

+0

извините, я новичок в json, поэтому вы имеете в виду, что после декодирования не будет отображаться косая черта. –

+0

@ Rajnell yup, точно. –

+0

@ Rajneel: Не только в JSON, но и везде, где вы имеете дело со строками, вы найдете * escape-последовательности *. Возьмите PHP. Если вы запустите «echo» foo «bar»; 'вы получите ошибку, потому что PHP думает, что строка' 'foo" ', а затем видит' bar '; 'который недействителен PHP. 'echo" foo \ "bar"; 'вместо этого будет работать и выводить' foo "bar'. PHP знает, что цитата в середине не завершает строку, а является частью строки. См. Также мой комментарий к вашему вопросу. –