使用newsoft.json进行序列化和反序列化

时间:2018-11-05 19:34:15

标签: c# json

这是JSON:

{
    "ItemList":
    [
        "Name":"Assassin's Creed",
        "Name":"Assassin's Creed"
    ]
}

我想在控制台中输入名称,所以我这样做了:

JsonConvert.SerializeObject(json);
var games = JsonConvert.DeserializeObject<ItemList>(json);
Console.WriteLine(games);

public class ItemList
{
   public string Name { get; set; }
}

它给了我这个输出:

Here's the output

1 个答案:

答案 0 :(得分:0)

游戏是一个集合。您应该遍历集合中的项目并将其打印到控制台。

var item = new ItemList
{
    Name = "Assassin's Creed"
};
List<ItemList> items = new List<ItemList>
{
    item,
    item
};

var serialized = JsonConvert.SerializeObject(items);
List<ItemList> games = JsonConvert.DeserializeObject<List<ItemList>>(serialized);

// Incorrect output
Console.WriteLine(games);

// Correct output
foreach(ItemList game in games)
{
    Console.WriteLine(game.Name);
}

Console.ReadLine();