我有一个名为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));
}
但是当我反序列化时,只返回第一个对象。我已经阅读了很多关于此的内容,但似乎无法找到解决方案。
答案 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);