Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Hегулярное выражение, цикл, json (https://javascript.ru/forum/misc/55944-hegulyarnoe-vyrazhenie-cikl-json.html)

glot 22.05.2015 05:14

Hегулярное выражение, цикл, json
 
Есть json
{"pages":[{"objects":[{"id":"company_name","obj_type":"text","text":"Автосервис "Милор" "},{"id":"company_adres","obj_type":"text","text":"Ул. Генерала Тюленева 2С1"},{"id":"phone","obj_type":"text","text":"89653561815"}]}}

и мне нужно делать проверку на содержание не нужных кавычек, в по свойству text и если таковые есть удалять
"text":"Автосервис "Милор" "
должно остаться
"text":"Автосервис Милор "
предполагаю что нужно выдергивать значения между
/"text":"/ и /"}/
проверять на наличие кавычек, если есть удалять и вставлять обратно, но как все это провернуть не могу представить

glot 22.05.2015 07:08

пусть будет строка которую нужно преобразовать в json, цикл не знаю нужен будет или нет, перебирать как то надо, т.к. text в строке несколько раз встречается(кстати количество text может быть и 4, и 5, и 6)
И почему кавычки в json должны быть экранированы в обязательном порядке?

glot 22.05.2015 08:26

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

laimas 22.05.2015 09:18

Откуда эта строка берется?

ksa 22.05.2015 09:43

Цитата:

Сообщение от glot
И почему кавычки в json должны быть экранированы в обязательном порядке?

Иначе это не josn по его определению. :)

ksa 22.05.2015 09:45

Цитата:

Сообщение от glot
кавычки не в моей власти экранировать, есть то что есть

Тогда попробуем упростить задачу... В якобы joson-строке свойство text последнее в объекте?

kostyanet 22.05.2015 10:43

Цитата:

Сообщение от glot
И почему кавычки в json должны быть экранированы в обязательном порядке?

Ну потому что кавычки служат идентификатором строки, скаляра. Поэтому внутри скаляра собственные его кавычки должны быть дополнительно обозначены как таковые. Это стандартный протокол для всех машинных языков.

Решение: генерить json нормальной функцией, а не колхозить его на коленке конкатенацией. Тогда получите нормальный обхект и можете там заменить что угодно на что хотите.

Кстати, колхозят жисоны те, кто до сих пор гниет в кодировке 1251.

laimas 22.05.2015 10:50

Цитата:

Сообщение от kostyanet
Кстати, колхозят жисоны те, кто до сих пор гниет в кодировке 1251.

Костя, ты посты свои пишешь сидя на корточках?

kostyanet 22.05.2015 10:59

Сначала расскажите когда перейдете на юникод.

laimas 22.05.2015 11:03

Даже юникод?! А почему?


Часовой пояс GMT +3, время: 09:24.