首页 新闻 会员 周边 捐助

.net如何拼接字符串?

0
悬赏园豆:5 [已解决问题] 解决于 2017-06-08 14:06
    public string   Name     { get; set; }
    public int      Age      { get; set; } 

    public static void JsonToPerson()
    {
        
        string json="";
        for(var i=0;i<3;i++){
            json += @"
            {
                ""Name""     : i,
                ""Age""      : 18+i,
            }";
        }
   
    }
        

框架是2.0的

上述的会报错,

如何输出是这样

{"Name":"1 Shakespeare","Age":19}

{"Name":"2 Shakespeare","Age":20}

{"Name":"3 Shakespeare","Age":21}

AliceH的主页 AliceH | 菜鸟二级 | 园豆:282
提问于:2017-06-08 10:46
< >
分享
最佳答案
0
 1         List<UserInfo> userinfoList = new List<UserInfo>();
 2             for (int i = 1, j = 19; i < 4; i++,j++)
 3             {
 5                 UserInfo userinfo = new UserInfo();
 6                 userinfo.Name = i + " Shakespeare";
 7                 userinfo.Age = j; 
9
userinfoList.Add(userinfo); 10 } 11 string jsonStr = new JavaScriptSerializer().Serialize(userinfoList); 12 13 public class UserInfo 14 { 15 public string Name { get; set; } 16 17 public int Age { get; set; } 18 19 }

请叫我好人

收获园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2017-06-08 11:15
其他回答(4)
1

这是json格式,你将集合利用JSON.NET序列化就是上述你说的那样了,再加上拼接你好歹用StringBuilder啊

Jeffcky | 园豆:2789 (老鸟四级) | 2017-06-08 10:48

来个示例?

支持(0) 反对(0) AliceH | 园豆:282 (菜鸟二级) | 2017-06-08 11:14
0

json序列化呀,用拼接容易出错还很累

 

或者你强行要做也是可以的

 string json="";
        for(var i=0;i<3;i++){
            json += @"{""Name:"" + i, ""Age:""+( 18+i),}";
        }
hahanonym | 园豆:1460 (小虾三级) | 2017-06-08 10:51

i每循环出来

支持(0) 反对(0) AliceH | 园豆:282 (菜鸟二级) | 2017-06-08 11:13
0

PS:你的输出也不是json格式.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-06-08 10:58
0

先组织好你要的几个Person对象,然后使用json序列化。

请百度 “C# json 序列化”

西漠以西 | 园豆:1675 (小虾三级) | 2017-06-08 11:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册