Входная строка 'x' не является допустимой ошибкой числа с JsonConvertDeserializeObject - PullRequest
1 голос
/ 12 марта 2020

У меня есть строка для billingpostalcode. Когда вы вводите чистые числа, например: «12345», тогда он работает нормально. Но, например, вы указываете «123aa» или «abcde», это вызывает исключение. Это строка, а не целое число, поэтому я не понимаю ошибку.

{"При синтаксическом анализе номера обнаружен неожиданный символ: s. Путь 'billingPostalCode', строка 1, позиция 119."}

    string billingPostal = billingPostalCode;
    var obj = JsonConvert.DeserializeObject($"{{ 'odrDetailHdr' : {orderDetailHeaderJson}, 'billingPostalCode' : {billingPostal},  'odrProductList': {orderTrackingDetailsProductJson}, 'odrDetailOtherHdr': {orderDetailOtherHeaderJson} }}");

У кого-нибудь есть идеи, почему?

1 Ответ

2 голосов
/ 12 марта 2020

Существуют разные обозначения между строкой и числом в формате json.

"employee":{ "name":"John", "age":30, "city":"New York" }

Обратите внимание на разницу между строкой "name":"John" и числом "age":30. Они не являются взаимозаменяемыми

Однако в вашем примере вы можете добавить кавычки или использовать конвертер через атрибут при использовании json. net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...