2013-02-21 5 views
2

Я пытаюсь преобразовать json-строку в JObject с использованием JObject.Parse, но работает в ошибке «Ошибка синтаксического анализа положительной бесконечности». Path 'Modified.Date', строка 1, позиция 52 «.Json.Net parsing datetime error error

Вот часть JSON, который бросает ошибку на -

{..., "Модифицированные": { "Дата": ISODate ("2013-02-21T22: 23: 57.118Z") "Пользователь": "Admin"}, ...}

Вот код, я использую, чтобы сделать синтаксический разбор -

var jobj = JObject.Parse(formJson) 

Update: JSON был сгенерирован с помощью .ToJson MongoDB в(), отправив следующие jsonwritersettings, он сгенерировал json, который был проанализирован js on.net - новый JsonWriterSettings {OutputMode = JsonOutputMode.JavaScript};

+1

Это выглядит как формат дат. Это комбинация IsoDateTime, которая определяет строку и формат по умолчанию (который обычно выглядит как «Date (Time in Milliseconds)»). Вы можете изменить код, создающий этот JSON? –

+0

Да, мне удалось изменить код генерации json, в результате json был {..., \ "Изменен \": {\ "Date \": new Date (1361492718941), \ "User \": \ "Admin \ ", ...}, который был проанализирован json.net – camelCaseWarrior

ответ

4

Я думаю, вам нужно потерять ISODate.

Это работает:

String MyJson = "{MyDate : \"2013-02-21T22:23:57.118Z\" }"; 
var x = Newtonsoft.Json.Linq.JObject.Parse(MyJson);