Json传递多个对象

时间:2015-05-11 08:44:46

标签: c# json

我有一个名为Weapons的物品,它包含伤害,重装速度和杂志(int)。我每次都需要传递至少两个对象。对于单个对象,我使用了:

string single = JsonConvert.SerializeObject(object);

它正在工作。

对于多个对象,我尝试使用带有concat的foreach:

string ws = "";

foreach (var weapon in weapons(from database))
{
    Weapon weaponJson = new Weapon()
    {
        Damage = weapon.Damage,
        ReloadSpeed = weapon.ReloadSpeed,
        MagazineSize = weapon.Magazine
    };

    ws = String.Concat(JsonConvert.SerializeObject(weaponsJson));
}

但是当我反序列化时,只返回第一个对象。我已经阅读了很多关于此的内容,但似乎无法找到解决方案。

1 个答案:

答案 0 :(得分:3)

将对象粘贴到列表中,然后序列化列表。

List<Weapon> weapons = new List<Weapon>();
foreach(var weapon in database.weapons)
{
    weapons.add(new Weapon 
                    { 
                        // initialise from db fields 
                    });
}  
ws = JsonConvert.SerializeObject(weapons);