簡體   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