解决方案 »

  1.   

    http://www.cnblogs.com/Fooo/p/3441140.html
    http://hi.baidu.com/jommyfang/item/45fedd0bf2c07a27a0312d39
      

  2.   

    http://hi.baidu.com/jiawei1107/item/5f6e9e5de4fa093595eb058a
      

  3.   

    最好的办法是,定义一个和JSON对应的实体,然后序列化成实体,直接用listview绑定实体。
    http://bbs.csdn.net/topics/350011261
      

  4.   

    定义一个实体类Users;字段分别对应你字符串的属性
    public class Users
    {
    string  Username;
    string  Stu_number;
    ……
    }下载 Newtonsoft的dll,解析Json字符串
    引入
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;string UsersInfo="你要解析的字符串 (上面那一大串)";JObject   jsonObj = JObject.Parse(UsersInfo);
    JArray UsersJa = JArray.Parse(jsonObj["Users"].ToString());
     for (int i = 0; i < UsersJa.Users; i++)
    {
    Users user=new Users//这个就是你定义的类user.Username=UserdJa[i]["Username"].tostring();
    user. Stu_number=UserdJa[i][" Stu_number"].tostring();
    ……
    ……
    //UserList.Add(user)
    }
    完成。当让你的Users信息这么多你可以定义一个List<Users>  UserList存放Users信息
      

  5.   

    for (int i = 0; i < UsersJa.Users; i++)这句写错了纯手打没大注意
    应该是for (int i = 0; i < UsersJa.Count; i++)
      

  6.   


    大概理解了一下你的思路,可以加QQ详细指导一下吗?我的QQ:1268468
      

  7.   

    private void button1_Click(object sender, EventArgs e)
            {
                string Userinfo=textBox1.Text;
                JObject jsonObj = JObject.Parse(Userinfo);
                JArray UserJa = JArray.Parse(jsonObj["Users"].ToString());
                for (int i = 0; i < UserJa.Count; i++)
                {
                    Users user = new Users();
                    user.Username = UserJa[i]["Username"].ToString();
                    user.Nickname = UserJa[i]["Nickname"].ToString();
                    user.Password = UserJa[i]["Password"].ToString();
                    user.Key = UserJa[i]["Key"].ToString();
                    user.areaId = UserJa[i]["areaId"].ToString();
                    user.severId = UserJa[i]["severId"].ToString();
                }        }
            
            public class Users
            {
                //{"Username":"58486","Nickname":"\u5954\u65CF","Password":"YwBoAGUAGMwAzADMALgA=","Key":"351518486_565510","areaId":"30566","serverId":"32510"}
               public string Username;
               public string Nickname;
               public string Password;
               public string Key;
               public string areaId;
               public string severId;            
            }
      

  8.   

    写成这样了,再指点一下,用textbox2把 Username;Nickname;Password;Key;areaId;severId;  显示出来
      

  9.   


    大概理解了一下你的思路,可以加QQ详细指导一下吗?我的QQ:1268468汗,你不是已经取得了Username;Nickname的值了么,直接赋值给textBox2.Text不就行了吗。
    当然你的user信息这么多你可以先将user存放在一个List泛型里。
    List<Users>  UserList=new List<Users>();
    在for循环里  最后一句UserList.Add(user);
    然后想要获得哪个值就是哪个值,比如获取第一个用户名:
    textBox2.Text=UserList[0].Username……
    还有就是你本来不是想在ListView显示信息吗,也可以直接将user  add到listView里显示
      

  10.   


    //using Newtonsoft.Json.Linq;  private void button1_Click(object sender, EventArgs e)
            {
                string sPath = ".\\user.txt";
                string sJson = File.ReadAllText(sPath);
    #if DEBUG
                Console.WriteLine(sJson);
    #endif
                ArrayList ObjList = new ArrayList();            //将字符串转换成Json对象
                JObject jo = JObject.Parse(sJson);            //将Users这个字段的值,转换成Json数组
                JArray ja = jo["Users"] as JArray;            //将Json数组,转换成CUser的对象
                for (int i = 0; i < ja.Count; i++)
                {
                    object user = ja[i].ToObject(typeof(CUser));
                    ObjList.Add(user);
                }            RefreshListView(ObjList);
            }        //刷新ListView数据集
            private void RefreshListView(ArrayList arrList)
            {
                lstUsers.Items.Clear();
                for (int i = 0; i < arrList.Count; i++)
                {
                    string sText = (arrList[i] as CUser).userName;
                    lstUsers.Items.Add(sText);
                }
            }        //一条数据的结构
            class CUser
            {
                public string userName { get; set; }
                public string Stu_number { get; set; }
                public string ssd { get; set; }
                public string Key { get; set; }
                public string areaId { get; set; }
                public string number { get; set; }
            }
      

  11.   


     object user = ja[i].ToObject(typeof(CUser));
    找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”。能不能给个能调试的demo
      

  12.   


    大概理解了一下你的思路,可以加QQ详细指导一下吗?我的QQ:1268468汗,你不是已经取得了Username;Nickname的值了么,直接赋值给textBox2.Text不就行了吗。
    当然你的user信息这么多你可以先将user存放在一个List泛型里。
    List<Users>  UserList=new List<Users>();
    在for循环里  最后一句UserList.Add(user);
    然后想要获得哪个值就是哪个值,比如获取第一个用户名:
    textBox2.Text=UserList[0].Username……
    还有就是你本来不是想在ListView显示信息吗,也可以直接将user  add到listView里显示
    能不能给个能调试的demo,调试出来老是这里有错那里不对
      

  13.   

    发了个demon到你QQ邮箱1268468
    六一儿童节我还在写代码实在是太敬业了,哈哈。
    话说上海一到周末就下雨,老天爷比我还敬业,害的一天宅在家中……大概理解了一下你的思路,可以加QQ详细指导一下吗?我的QQ:1268468汗,你不是已经取得了Username;Nickname的值了么,直接赋值给textBox2.Text不就行了吗。
    当然你的user信息这么多你可以先将user存放在一个List泛型里。
    List<Users>  UserList=new List<Users>();
    在for循环里  最后一句UserList.Add(user);
    然后想要获得哪个值就是哪个值,比如获取第一个用户名:
    textBox2.Text=UserList[0].Username……
    还有就是你本来不是想在ListView显示信息吗,也可以直接将user  add到listView里显示
    能不能给个能调试的demo,调试出来老是这里有错那里不对
      

  14.   


     object user = ja[i].ToObject(typeof(CUser));
    找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”。能不能给个能调试的demo
    我已经将DEMO,放在CSDN的资源列表里面了,可以去此地址下载:
    http://download.csdn.net/detail/unearth/7432591
      

  15.   


     object user = ja[i].ToObject(typeof(CUser));
    找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”。能不能给个能调试的demo
    我已经将DEMO,放在CSDN的资源列表里面了,可以去此地址下载:
    http://download.csdn.net/detail/unearth/7432591谢谢,我用的是vs2010,虽然没调试出来,还是谢谢你object user = ja[i].ToObject(typeof(CUser));错误 1 无法从用法中推导出方法“Newtonsoft.Json.Linq.JToken.ToObject<T>(Newtonsoft.Json.JsonSerializer)”的类型实参。请尝试显式指定类型实参。 I:\Visual studio 2008\demo\CSDN_TEST_JSON\CSDN_TEST_JSON\Form1.cs 40 31 CSDN_TEST_JSON
      

  16.   


    大概理解了一下你的思路,可以加QQ详细指导一下吗?我的QQ:1268468汗,你不是已经取得了Username;Nickname的值了么,直接赋值给textBox2.Text不就行了吗。
    当然你的user信息这么多你可以先将user存放在一个List泛型里。
    List<Users>  UserList=new List<Users>();
    在for循环里  最后一句UserList.Add(user);
    然后想要获得哪个值就是哪个值,比如获取第一个用户名:
    textBox2.Text=UserList[0].Username……
    还有就是你本来不是想在ListView显示信息吗,也可以直接将user  add到listView里显示
    能不能给个能调试的demo,调试出来老是这里有错那里不对 谢谢咯