У меня есть данные Json с двумя полями, которые являются идентификатором и контентом. Содержимое будет хранить другие данные Json. Я хочу десериализовать первую (внешнюю сторону) только Json. Можно ли это сделать?C# Как десериализовать вложенные данные Json
{"Json1":
[
{"ID":"123",
"Content":"{"Json2":[{"test1":"234","test2":"456"}]}"}
]}
public class testing
{
public List<testing2> Json1 { get; set; }
}
public class testing2
{
public string ID { get; set; }
public string Content { get; set; }
}
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
testing test= serializer.Deserialize<testing>(JsonData);
Я ожидаю, что значение test.Json1 [0] .content равно { "Json2": [{ "test1": "234", "test2": "456"}]} после десериализации , Тем не менее, исключение «Недопустимый объект передан, ':' или '}' ожидается." запрашивается указанный выше код.
Почему бы не использовать newtonsoft.json? – mybirthname
Является ли ваш контент даже действительным json? Похоже, вы не избегаете кавычек, так как вы знаете, когда заканчивается строка или ее просто цитата из внутреннего соединения? – Charleh
Постарайтесь проверить его здесь http://jsonlint.com/ и разместить здесь действительный JSON – Artiom