gpt4 book ai didi

c# - 如何反序列化属性类型不固定的 json - 可以是空字符串或对象,请提出建议。如何处理这种情况?

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:01 25 4
gpt4 key购买 nike

我必须处理 API 响应返回的 JSON 对象。

我尝试创建 expando 对象并将所有属性添加到它。而不是将值复制到它。

dynamic dPropertyLinkValue = new ExpandoObject();

dPropertyLinkValue.link = "";

dPropertyLinkValue.value = "";

我期望有更好的方法来做到这一点,而无需 expando 对象。

最佳答案

您可以通过将 JSON 转换为动态对象来反序列化 JSON。请引用以下示例:这里将 Json 反序列化为 dynamic 对象,然后循环遍历其属性,您可以检查您是否重视它是否是对象。

        string jsonText = "{a:'testString',b:{'prop1':'value1'}}";
var jObj = JsonConvert.DeserializeObject<dynamic>(jsonText);
foreach (JProperty property in jObj)
{
string text = property.Name + " : " + property.Value;
//Here you can check whether property.Value is Jobject or any other value
}

关于c# - 如何反序列化属性类型不固定的 json - 可以是空字符串或对象,请提出建议。如何处理这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56291350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com