2016-07-07 2 views
0

инструменты: Spring Data JPS, Spring Data Rest, PostgreSQLФормат JSON данных В End Point

После создания настраиваемого UserType из спящего режима, я проверить код с методом POST. Для следующего формата данных,

{"firstName" : "Joe", "lastName": "Cooper", "address" : '{"street": "Street 1", "city": "My town", "state": "CA", "zip-code": "91210", "country": "US"}'} 

Я получаю ошибку

com.fasterxml.jackson.core.JsonParseException: Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') 

Когда у меня есть то, что рекомендуемый формат JSON

{"firstName" : "Joe", "lastName": "Smith", "address" : "{\\"street\\": \\"Street 1\\", \\"city\\": \\"My Town\\", \\"state\\": \\"CA\\", \\"zip-code\\": \\"98003\\", \\"country\\": \\"US\\"}"} 

я получаю другую ошибку

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('s' (code 115)): was expecting comma to separate OBJECT entries 

Что будет правильным J Формат данных типа SON тогда?

ответ

0

Ваш первый пример недействителен просто из-за того, как вы указали значение адреса. Если вы удалите одиночные кавычки, он правильно отформатирует JSON с полем адреса как самой структурой данных.

{ "firstName": "Joe", 
"lastName": "Cooper", 
"address": { "street": "Street 1", "city": "My town", "state": "CA", "zip-code": "91210", "country": "US"} 

}

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

{ "firstName": "Joe", 
"lastName": "Cooper", 
"address": "{ \"street\": \"Street 1\", \"city\": \"My town\", \"state\": \"CA\", \"zip-code\": \"91210\", \"country\": \"US\"}" 

}

+0

Спасибо за ваш вклад. К сожалению, не работает. Я получаю за них ту же ошибку. На этот раз ошибки на postgresql, но не на quickxml. "org.postgresql.util.PSQLException: ERROR: недопустимый синтаксис ввода для типа json Деталь: токен" com "недействителен. Где: данные JSON, строка 1: com ..." – TeeKai

+0

Эта ошибка не связана с JSON или строку, так как текст «com» ​​нигде в этих данных отсутствует. – alzee

+0

Еще раз спасибо. Я знаю, что это проблема между входными данными и БД, но не JSON-форматом. – TeeKai

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