В настоящее время мы отправляем строку JSON на платформу Netsuite ERP, используя cfhttp
. Я замечаю, что когда мы публикуем данные, мы получаем много странных ошибок. Большинство ошибок содержат неиспользуемый строковый литерал. Я проверял, что строки JSON полностью идеальны, запустив их через JSON lint, и я замечаю, что поведение Netsuite довольно неустойчиво.Как сжать строку JSON в ColdFusion
Во время некоторых исследований я обнаружил, что многие из этих неисчерпаемых строковых литералов иногда связаны с пробелом. Я замечаю, когда проверяю свой результат, мой код возвращается с довольно большим количеством пробелов. У меня есть некоторые встроенные операторы <cfif>
, которые также могут быть причиной некоторого этого дополнительного пробела.
Мне интересно, есть ли способ полностью сжать любое пустое пространство внутри json-строки в ColdFusion? Есть ли функция, которая будет очищать строки JSON, поэтому, когда я их отправляю, они подавляют все пробелы?
Заранее спасибо.
Как вы создаете JSON? Вы используете 'serializeJSON'? Было бы полезно показать строки кода, которые генерируют и выполняют HTTP-запрос. – plalx
Это звучит так, как будто вы строите свой JSON вручную ... serializeJson() не содержит никаких посторонних пробелов. Можете ли вы отправить какой-то пример кода того, как вы создаете строку JSON, а также то, что выглядит JSON. –
Если вы генерируете JSON вручную, вы можете попробовать использовать cfprocessingdirective suppressWhiteSpace = yes. Однако я бы настоятельно рекомендовал использовать такую же логику для создания объекта/структуры, а затем преобразовать ее в JSON, используя serializeJson() –