【发布时间】:2022-01-19 10:25:14
【问题描述】:
我有一个案例,网络调用将检索 json 字符串。就像
"{"PdfSearchCTTestExperiment": 0, "_ecs": {"PdfSearchCTTestExperiment": "P-X-100967-1-13"}}"
基本上,响应会有两种值类型,一种是字符串,另一种是字典
而且我需要将内部和外部键值对反序列化到字典中。这是我的做法:
var outerDict = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(ss);
string innerDictString = JsonConvert.SerializeObject(outerDict["_ecs"]);
var innerDict = JsonConvert.DeserializeObject<Dictionary<string, string>>(innerDictString );
它有效,但我认为这不是有效的方法。 Baiscally,由于类型系统,我需要再做两次解析。有更好的方法来实现这一点吗?谢谢!
【问题讨论】:
-
澄清一下,json 响应可能有多个键值对。示例:“{”PdfSearchCTTestExperiment”:0,“key1”:“value1”,“key2”:“value2”,...,“_ecs”:{“PdfSearchCTTestExperiment”:“PX-100967-1-13”,“ key1" : "PS-2121-21-1", ...}}"