首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何能生成上面的JSON格式

2013-01-05 
怎么能生成下面的JSON格式平时DataTable转换一下就可以生成JSON,像这种里面又嵌套的怎么能生成下面这种格

怎么能生成下面的JSON格式
平时DataTable转换一下就可以生成JSON,像这种里面又嵌套的怎么能生成下面这种格式呢,


{name:"中国", province:[ { name:"黑龙江", cities:{ city:["哈尔滨","大庆"] }, 

{name:"广东", cities:{ city:["广州","深圳","珠海"] }  


能否这样定义:
    public class model    {
        public string name { get; set; } 
        public List<province> { get; set; } 
  }
[解决办法]

引用:
平时DataTable转换一下就可以生成JSON,像这种里面又嵌套的怎么能生成下面这种格式呢,


{name:"中国", province:[ { name:"黑龙江", cities:{ city:["哈尔滨","大庆"] }, 

{name:"广东", cities:{ city:["广州","深圳","珠海"] }  


能否这样定义:……

可以。看代码
        protected void Page_Load(object sender, EventArgs e)
        {
            model m = new model()
            {
                name = "GD",
                Province = new List<string>() { "A", "B" }
            };
            System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            var output = serializer.Serialize(m);
        }
        public class model
        {
            public string name { get; set; }
            public List<string> Province { get; set; }
        }

[解决办法]
  楼主那样的显示主要是设置Model的格式,参考

class Program
    {
        static void Main(string[] args)
        {
            Model m = new Model();

            //城市
            List<CityModel> cityList = new List<CityModel>();
            CityModel city = new CityModel();
            city.city.Add("哈尔滨");
            city.city.Add("大庆");
            //省
            List<Province> proList = new List<Province>();


            Province p = new Province();
            p.Name = "黑龙江";
            p.cities = city;
            proList.Add(p);
            //Model
            m.Name = "中国";
            m.Province = proList;

            string json = SerializeObject(m);
            Console.WriteLine(json);

            Console.ReadLine();


        }

        /// <summary>   
        /// 序列化   
        /// </summary>   
        /// <param name="obj"></param>   
        /// <returns></returns>   
        public static string SerializeObject(object obj)
        {
            return JsonConvert.SerializeObject(obj);
        }

    }
    public class Model
    {
        /// <summary>
        /// 名称
        /// </summary>
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        /// <summary>
        /// 省
        /// </summary>
        private List<Province> province;

        public List<Province> Province
        {
            get { return province; }
            set { province = value; }
        }

    }

    public class Province
    {
        string proName;

        public string Name
        {
            get { return proName; }


            set { proName = value; }
        }

        private CityModel _cities;

        public CityModel cities
        {
            get { return _cities; }
            set { _cities = value; }
        }
    }

    public class CityModel
    {
        private ArrayList _city = new ArrayList();

        public ArrayList city
        {
            get { return _city; }
            set { _city = value; }
        }

       
     
    }

热点排行