USER 对象ID
NAME
SEX
前台传递了JSON数据{"ID":"1","NAME":"1","SEX":"1"},{"ID":"2","NAME":"2","SEX":"2"},{"ID":"3","NAME":"3","SEX":"3"}后台我如何处理成3个USER对象?

解决方案 »

  1.   

    <script>
    var USER= [
    {"ID":"1","NAME":"1","SEX":"1"},
    {"ID":"2","NAME":"2","SEX":"2"},
    {"ID":"3","NAME":"3","SEX":"3"} 
    ];
    alert(USER[0].Name); 1
    alert(USER[1].Name); 2
    alert(USER[2].Name); 3
    </script>
      

  2.   

    如果你使用 .NET 3.5,倒是可以直接用 System.Runtime.Serialization.Json.DataContractJsonSerializer 对 JSON 进行序列化和反序列化,早期的版本只能自己做了。
      

  3.   

    看了有将LIST对象列表转成JSON格式
    但是JSON如何转成LIST对象!!
      

  4.   

    试下 DataContractJsonSerializer.ReadObject(Stream) 这个方法。
      

  5.   

    刚测试了下,代码如下:
    static void Main(string[] args)
    {
    Person[] People = {
    new Person(1, "A"),
    new Person(2, "B"),
    new Person(3, "C"),
    new Person(4, "D"),
    new Person(5, "E")
    }; System.Runtime.Serialization.Json.DataContractJsonSerializer jsonFormator = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(Person[]));
    byte[] buff = new byte[1024];
    System.IO.Stream stream = new System.IO.MemoryStream(buff);
    jsonFormator.WriteObject(stream, People); // 序列化
    string str = System.Text.Encoding.UTF8.GetString(buff).TrimEnd('\0');
    Console.WriteLine(str);
            // 反序列化
    System.IO.Stream rS = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(str));
    Person[] persons = jsonFormator.ReadObject(rS) as Person[];
    Console.WriteLine(persons[2].Name);
    }[System.Runtime.Serialization.DataContract] //必须加这个属性
    class Person
    {
    [System.Runtime.Serialization.DataMember] // 该属性注明要序列化的成员
    public int Id { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string Name { get; set; }
    public Person(int id, string name)
    {
    Id = id;
    Name = name;
    }
    }
      

  6.   

    JavaScriptSerializer 可以反序列化单个对象.net 2.0 装AJAX
      

  7.   

    我用的MVC 可以把单个对象转化public class JsonBinder<T> : IModelBinder
        {
            public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
            {
                var param = new DataContractJsonSerializer(typeof(T))
                    .ReadObject(controllerContext.HttpContext.Request.InputStream);
              
                return  param;
            }       
           
            
        }
    ModelBinders.Binders[typeof(UserDTO)] = new JsonBinder<UserDTO>();
    前台请求
    {"ID":"1","NAME":"1","SEX":"1"}
    ------------------------------------------------------------
    现在如果传递对象组 不知道处理了!!
    {"ID":"1","NAME":"1","SEX":"1"}, 
    {"ID":"2","NAME":"2","SEX":"2"}, 
    {"ID":"3","NAME":"3","SEX":"3"} 
    后台如何得到IList<UserDTO>
      

  8.   

    使用 new DataContractJsonSerializer(typeof(List<UserDTO>)