gpt4 book ai didi

c# - 将不可预测的 JSON 属性反序列化为字符串

转载 作者:行者123 更新时间:2023-12-02 16:58:17 24 4
gpt4 key购买 nike

我有一个第三方 API 响应具有一个非常不可预测的属性,其余都正常。

有时属性是一个完整的嵌套对象,有时它是一个空字符串,有时它是一个数组......文档不是很好。

以下是一些示例响应,但可能会有更多变化:

"errors": {
"invalid_player_ids" : ["5fdc92b2-3b2a-11e5-ac13-8fdccfe4d986", "00cb73f8-5815-11e5-ba69-f75522da5528"]
}

"errors": ["Notification content must not be null for any languages."]

"errors": ""

幸运的是,这个属性不是太重要,但对于日志记录来说是一个不错的选择。

是否可以像往常一样反序列化模型,但对于这个特定属性 errors,将整个事物反序列化为字符串属性?像这样?

public string Errors { get; set; }

最佳答案

我会使用 JToken处理不可预测的属性。它可以处理任何 JSON,如果您需要将其注销,只需使用 ToString() 即可。

public class Response
{
public JToken Errors { get; set; }
}

然后:

Response resp = JsonConvert.DeserializeObject<Response>(json);
Console.WriteLine("Errors: " + resp.Errors.ToString());

这是一个工作演示:https://dotnetfiddle.net/5jXHjV

关于c# - 将不可预测的 JSON 属性反序列化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55382854/

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