首页 > 解决方案 > 如何拆分数组中的键/值对?

问题描述

我有这种类型的键值存储在我的数据库中:

[{"SelFoodId":"2","SelQuantity":"5"},
 {"SelFoodId":"7","SelQuantity":"3"},
 {"SelFoodId":"9","SelQuantity":"7"}]

但是现在我想在 c# 中以这种形式拆分这个 JSON 数组,比如

SelFoodId = {2,7}, SelQuantity  = {5,7}

标签: c#json

解决方案


1.到这里 ( json2csharp ) 并从你的JSON中创建一些对象

这会给你这样的东西

public class MyAwesomeSomething
{
    public string SelFoodId { get; set; }
    public string SelQuantity { get; set; }
}

2.添加Json.NET NugetNewtonsoft.Json

3.查找JsonConvert.DeserializeObject 方法(字符串)和这个有用的示例

将 JSON 反序列化为 .NET object.n。

4.写一些代码

示例

var json = "[{\"SelFoodId\":\"2\",\"SelQuantity\":\"5\"},{\"SelFoodId\":\"7\",\"SelQuantity\":\"3\"},{\"SelFoodId\":\"9\",\"SelQuantity\":\"7\"}]";
var list = JsonConvert.DeserializeObject<List<MyAwesomeSomething>>(json);    
foreach(var item in list)       
{   
    Console.WriteLine(item.SelFoodId + " " + item.SelQuantity);
}

输出

2 5
7 3
9 7

完整的演示在这里


推荐阅读