解决方案 »

  1.   

    定义一个相关的类  然后jsonconvert.deserializeobject<ClassTyppe>  应该可以吧
      

  2.   

    按这个图写一个对应的类,然后用jsonconvert.deserializeobject<ClassTyppe>就行了.
      

  3.   

    你可以先用js把它eval出来,然后在js的调试器里看下对象层次结构,然后照着写一个C#的类定义出来。
    然后用json反序列化这个类
      

  4.   

    json中的rule和list下只有一个数字,而下一级是键值一一对应,这个类我真不知道如何设计
      

  5.   

    就是把json中所有的数据取出来
      

  6.   

    json中的rule和list下只有一个数字,而下一级是键值一一对应,这个类该如何写?
      

  7.   

    http://json2csharp.com/
      

  8.   

    您好,你给的网址粘贴json进去点按钮没效果啊
      

  9.   

    下载 http://kanboxshare.com/link/p4ZlFpzBxFdy35LBfR49VC3CV3aAKwCRxx9GhZvFuVbZssKMZObcoehlR
    弄了个例子给你,自己下demo
      

  10.   

    你应该修改了我原来的json吧?我这里运行你的demo报错
      

  11.   

    没有,我直接复制的你帖子中的,重新下载吧,我把json放到软件目录下了,你自己看一下.调试,下断点.
    http://kanboxshare.com/link/i9spZgrfonFGOpvnB6WUzKcprS27sJJK4gQb6sbdjtDCh8mwtai3m4U4H
      

  12.   

    json中的rule和list下只有一个数字,而下一级是键值一一对应,这个类该如何写?
    你试试在类里搞一个Dictionary<int, string>的字典对象
      

  13.   

    试试fastCSharp        public class X
            {
                public int status;
                public rule[] rules;
                private fastCSharp.setup.cSharp.json.node rule
                {
                    set
                    {
                        rules = value.Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.json.parse.Get<rule>(node));
                    }
                }
                public list[] lists;
                private fastCSharp.setup.cSharp.json.node list
                {
                    set
                    {
                        lists = value.Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.json.parse.Get<list>(node));
                    }
                }
            }
            public class rule
            {
                public string id;
                public string name;
                public string gold;
                public int silver;
            }
            public class list
            {
                public string id;
                public string name;
                public string quality;
                public string level;
                public string image;
                public string type;
                public string wuli;
                public string zhili;
                public string tili;
                public string wuliup;
                public string zhiliup;
                public string tiliup;
                public string star;
                public string goout;
                public cultivate Cultivate;
                private fastCSharp.setup.cSharp.json.node cultivate
                {
                    set
                    {
                        if (value.Type == fastCSharp.setup.cSharp.json.node.nodeType.Dictionary)
                        {
                            Cultivate = fastCSharp.setup.cSharp.json.parse.Get<cultivate>(value);
                        }
                    }
                }
            }
            public class cultivate
            {
                public int gid;
                public int wuliup;
                public int zhiliup;
                public int tiliup;
                public int type;
            }
                X value = fastCSharp.setup.cSharp.json.parse.Get<X>(json);
      

  14.   

    还是不对,你这里是写死了,但我的json中rule和list的个数是可变的
      

  15.   

    json中的rule和list下只有一个数字,而下一级是键值一一对应,这个类该如何写?
    你试试在类里搞一个Dictionary<int, string>的字典对象
    嗯,我再去试试
      

  16.   

    还是不对,你这里是写死了,但我的json中rule和list的个数是可变的
    自己下断点调试吧
      

  17.   

    还是不对,你这里是写死了,但我的json中rule和list的个数是可变的
    自己下断点调试吧
    问题用正则表达式解决了,谢谢你们的解答