繁体   English   中英

如何反序列化字典并获取特定键的值

[英]How to Deserialize the dictionary and fetch the value of a particular key

我应该如何获取状态键的值?

string a = "\"[{\\\"Status\\\":\\\"Passed\\\"}]\""

尝试使用JObject.ParseJArray.Parse 对其进行反序列化并获取值。 一直出错,即使密钥存在。

PS:这个值直接来自数据库,它存储为一个字符串。

也许有更好的解决方案。 但是您可以remove the /字符并按split by "

string a = "\"[{\\\"Status\\\":\\\"Passed\\\"}]\"";
var val=a.Replace("\\", "").Split(new string[] { "\"" },
StringSplitOptions.None)[4];
using System.Text.Json;

string a = "\"[{\\\"Status\\\":\\\"Passed\\\"}]\"";
var json = JsonDocument.Parse(a).RootElement.GetString();
var jDoc = JsonDocument.Parse(json);
var dic = jDoc.RootElement[0].Deserialize<Dictionary<string, string>>();
var status = dic["Status"];

这里提供一个获取值的方法,希望能给大家一些帮助。

using Newtonsoft.Json;

string a = "\"[{\\\"Status\\\":\\\"Passed\\\"}]\"";
var b = JsonConvert.DeserializeObject(a);
var c = JsonConvert.DeserializeObject<Dictionary<string, string>[]>(b.ToString());

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM