2013-11-08 3 views
1

В настоящее время мы отправляем строку JSON на платформу Netsuite ERP, используя cfhttp. Я замечаю, что когда мы публикуем данные, мы получаем много странных ошибок. Большинство ошибок содержат неиспользуемый строковый литерал. Я проверял, что строки JSON полностью идеальны, запустив их через JSON lint, и я замечаю, что поведение Netsuite довольно неустойчиво.Как сжать строку JSON в ColdFusion

Во время некоторых исследований я обнаружил, что многие из этих неисчерпаемых строковых литералов иногда связаны с пробелом. Я замечаю, когда проверяю свой результат, мой код возвращается с довольно большим количеством пробелов. У меня есть некоторые встроенные операторы <cfif>, которые также могут быть причиной некоторого этого дополнительного пробела.

Мне интересно, есть ли способ полностью сжать любое пустое пространство внутри json-строки в ColdFusion? Есть ли функция, которая будет очищать строки JSON, поэтому, когда я их отправляю, они подавляют все пробелы?

Заранее спасибо.

+7

Как вы создаете JSON? Вы используете 'serializeJSON'? Было бы полезно показать строки кода, которые генерируют и выполняют HTTP-запрос. – plalx

+3

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

+2

Если вы генерируете JSON вручную, вы можете попробовать использовать cfprocessingdirective suppressWhiteSpace = yes. Однако я бы настоятельно рекомендовал использовать такую ​​же логику для создания объекта/структуры, а затем преобразовать ее в JSON, используя serializeJson() –

ответ

0

Убедитесь, что параметр «Разрешить управление пробелами» установлен в настройках CFAdmin. Это уменьшит пробелы, возвращенные в браузер от Coldfusion.

+0

Добро пожаловать в Stack Overflow! Это действительно комментарий, а не ответ. С немного больше rep, [вы сможете оставлять комментарии] (// stackoverflow.com/privileges/comment). – manetsus

+0

@manetsus - Предполагая, что JSON генерируется вручную (кажется вероятным), это правильное предложение о том, как устранить лишнее пространство. Конечно, есть и другие варианты. – Leigh

Смежные вопросы