Неожиданное состояние — JsonConvert.DeserializeXmlNode

#json.net

#json.net

Вопрос:

У меня есть этот json —

 [{"a":"2958081","b":"Contact Sport","e":"abc4 news sport recent","f":[{"a":"831081","f":"2011-09-30 23:00:00","g":"2011-10-14 23:00:00"},{"a":"831080","f":"2011-09-23 23:00:00","g":"2011-10-07 23:00:00"}]},{"a":"2959838","b":"ABC National Evening News","e":"news abc4 recent last-chance","f":[{"a":"831928","f":"2011-09-30 23:00:00","g":"2011-10-01 22:00:00"}]}]
  

что дает мне исключение

«Неожиданное состояние: завершено. Строка 1, позиция 206.»

с помощью следующего кода:

 doc = CType(Newtonsoft.Json.JsonConvert.DeserializeXmlNode(json, "root"), XmlDocument)
  

json есть string , doc есть XmlDocument

Есть ли способ обрабатывать эти повторяющиеся структуры массива? Я показал только 2, полный файл JSON (строка) имеет ~ 250 (всего 75 Тыс. байт). [ ], охватывающий целое, удаляется перед показом фрагмента кода.

Ответ №1:

Одно из решений было предоставлено @VoidMain в CodePlex JSON.NET обсуждение.

Это требует незначительного редактирования строки, предварительного ожидания {object: и добавления } к json, как написано выше.

 {objects:[{"a":"2958081","b":"Contact Sport","e":"abc4 news sport recent","f":[{"a":"831081","f":"2011-09-30 23:00:00","g":"2011-10-14 23:00:00"},{"a":"831080","f":"2011-09-23 23:00:00","g":"2011-10-07 23:00:00"}]},{"a":"2959838","b":"ABC National Evening News","e":"news abc4 recent last-chance","f":[{"a":"831928","f":"2011-09-30 23:00:00","g":"2011-10-01 22:00:00"}]}]}