Проверить и очистить JSON в Omnis Studio?
Правильный JSON
[{
"user_id": 1,
"user_name": "John Doe I"
}, {
"user_id": 2,
"user_name": "Jane Doe III"
}]
Но если он содержит недопустимые символы, он не будет проверен. Вот так с CR после Doe:
[{"user_id":1,"user_name":"John Doe
I"},{"user_id":2,"user_name":"Jane Doe III"}]
Мой вопрос: есть ли в Omnis Studio 8 функция «очистки», где вывод является правильным JSON?
РЕДАКТИРОВАТЬ
Заменить или удалить ИЗВЕСТНЫЕ символы легко. Проблема в том, что текст, скопированный из MS Word и Интернета, может содержать НЕИЗВЕСТНЫЕ символы. Итак, я ищу команду типа
Calculate VALIDJSON as keepvalidchar(NOTVALIDJSON)
Есть ли такой зверь?
2 ответа
согласно этому сообщению Как мне обрабатывать новые строки в JSON?
если вам нужны новые строки в текстовой строке, вам нужно экранировать \n. поэтому \n в исходной строке json должна быть допустимой заменой «cr». например.
[{"user_id":1,"user_name":"John Doe\nI"},{"user_id":2,"user_name":"Jane Doe III"}]
Насколько я понимаю, если вы извлекаете данные из базы данных, чтобы отправить их в какое-либо место в Интернете, вы можете избежать новой строки, чтобы сохранить их в тексте, а не изменять JSON постфактум. Конечно, это зависит от цели вызова API к серверу, получающему json.
Я думаю, что суть
- если вы хотите, чтобы json отражал исходный текстовый контент, включая специальные символы, вы избегаете его
- если нет, то вы удаляете его. Я бы, вероятно, очистил исходный код, так как, возможно, я захочу оставить json отформатированным и заменить \n на пустое .. может не получить желаемого эффекта.
Вы просто ищете
do replaceall(lcVar,kCR,'\n') Returns lcVar
вызов функции?
Таким образом, заменив символ CR на экранированную нормальную кодировку '\n'
Я думаю, другой вопрос: вы создаете JSON для отправки или получаете JSON и пытаетесь его декодировать?
Если вы получаете, может быть, OJSON.$formatjson() может помочь?