teledexterus Ответов: 1

Как десериализатор json с классом


Ошибка в jsone. count.
using Newtonsoft;
using Newtonsoft.Json;

jsonr=[{"count":[{"first":1,"second":2,"third":3},{"first":11,"second":22,"third":33},{"first":111,"second":222,"third":333}]}]
            int oo = 0;
            int[,] jsona = new int[100, 9];
            jCount jsone = JsonConvert.DeserializeObject<jCount>(jsonr);
            foreach (var element in jsone.count)
            {
                oo += 1;
                jsona[oo, 1] = element.first;
                jsona[oo, 2] = element.second;
                jsona[oo, 3] = element.third;
            }


public class jCount
    {
        private List<jplace>
    }
    public class jPlace
    {
        public int first { get; set; }
        public int second { get; set; }
        public int third { get; set; }
    }


Что я уже пробовал:

Я пробовал использовать:
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsone= serializer.Deserialize<List<jcount>>(jsonr);

Richard Deeming

Вы не сказали нам, что это за сообщение об ошибке.

Код, который вы опубликовали, не будет компилироваться, потому что вы, похоже, удалили части наугад.

Неполный код в jCount класс предполагает, что вы сделали свойство private, что означает, что вы не можете получить доступ к нему извне этого класса.

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

public class jCount
        {
            public jPlace[] count { get; set; }
        }
        public class jPlace
        {
            public int first { get; set; }
            public int second { get; set; }
            public int third { get; set; }
        }
        public ActionResult Index()
        {
            string jsonr = "[{\"count\":[{\"first\":1,\"second\":2,\"third\":3},{\"first\":11,\"second\":22,\"third\":33},{\"first\":111,\"second\":222,\"third\":333}]}]";
            int oo = 0;
            int[,] jsona = new int[100, 9];
            List<jCount> jsone = JsonConvert.DeserializeObject<List<jCount>>(jsonr);
            foreach (var element in jsone[0].count)
            {
                oo += 1;
                jsona[oo, 1] = element.first;
                jsona[oo, 2] = element.second;
                jsona[oo, 3] = element.third;
            }


Bryian Tan

Это должно сработать :) +5

Karthik_Mahalingam

Спасибо Брайан Тан :)