首页 > 解决方案 > 从 C# 中的 JSON 数据中提取模式

问题描述

我有以下 JSON 模式,可以与JsonConvert.DeserializeObject. 我可以直接从中提取模式,但是当涉及到 JSON 数据字符串时,我不确定如何提取模式。

{
"fields": [
	{
		"name": "approved",
		"type": "Boolean",
		"displayName": "Approved",
		"isNullable": true,
		"isSearchable": false,
		"isFilter": true,
		"isInternal": false
	}
     ]
}

在上面的 JSON 中,approved是字段名称,因此我可以提取模式,但是我有一个如下的 JSON 数据字符串并想从中提取模式。

{
	"skuId": "1",
	"balance": [
		{
			"warehouseId": "1_1",
			"warehouseName": "Main Warehouse",
			"totalQuantity": 1000001,
			"reservedQuantity": 1,
			"hasUnlimitedQuantity": true,
			"timeToRefill": null,
			"dateOfSupplyUtc": null
		}
    ]
}

在上面的示例 JSON 数据中warehouseidwarehousename, 等是字段名,我需要在我的 c# 架构中拥有这些。

有人可以建议吗?

标签: c#jsonjson.net

解决方案


创建一个新类,复制您的 json 数据字符串,然后在 Visual Studio 中单击编辑-> 特殊粘贴,它将创建您可以反序列化为您想要的方式的类。

您缺少结束的“]”,因此需要首先解决。

如果您使用字典并需要对其进行迭代:

foreach(KeyValuePair<string, string> entry in myDictionary) { // do something with entry.Value or entry.Key }

推荐阅读