gpt4 book ai didi

c# - 如何反序列化包含分隔 JSON 的 JSON?

转载 作者:太空狗 更新时间:2023-10-29 20:01:15 26 4
gpt4 key购买 nike

我在将 Json 字符串反序列化为对象时遇到问题。

这是我从网络服务收到的示例 json:

{
"GetDataResult":
"{
\"id\":1234,
\"cityname\":\"New York\",
\"temperature\":300,
}"
}

我有一个看起来像这样的类 CityData

[JsonObject("GetDataResult")]
public class CityData
{
[JsonProperty("id")]
public int Id { get; set; }

[JsonProperty("cityname")]
public string CityName { get; set; }

[JsonProperty("temperature")]
public int Temperature { get; set; }
}

我尝试通过调用 DeserializeObject 方法来反序列化 json

var cityData = JsonConvert.DeserializeObject<CityData>(response);

但是根元素似乎出了问题...

你们知道我该如何修复它,以便我收到一个填充了数据的 CityData 对象吗?

最佳答案

json 响应包含一个对象,该对象本身包含表示数据结果的 json 字符串。

需要反序列化两次,一次用于响应,一次用于数据结果。

var response = JsonConvert.DeserializeObject<JObject>(responseStr);
var dataResult = (string)response["GetDataResult"];
var cityData = JsonConvert.DeserializeObject<CityData>(dataResult);

关于c# - 如何反序列化包含分隔 JSON 的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410511/

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