【发布时间】:2022-01-20 19:42:28
【问题描述】:
我有这个 Json 字符串,我一直在尝试对其进行反序列化,尝试了以下方法:
string jsonS = @"{
"version": "1.0.0",
"network": {
"id": "ZA-CS2SPT1AJ9ESP"
},
"request": {
"id": "7b4addca-3bb3-4cc6-adb8-e42114867cab"
},
"data": {
"message": "Authentication Success",
"access": {
"token": "4e78daef-c308-4d13-9e18-ab4c80b08a55",
"expires": 3600
},
"refresh": {
"token": "741138cf-9aac-4a76-baa2-b568b98b8880",
"expires": 2592000
}
}
}";
使用以下内容创建了一个类:
class SiliconAuth
{
public string version { get; set; }
public network network { get; set; }
public request request { get; set; }
public data data { get; set; }
public refresh refresh { get; set; }
}
public class network
{
public string id { get; set; }
}
public class request
{
public string id { get; set; }
}
public class data
{
public string message { get; set; }
public access access { get; set; }
}
public class access
{
public string token { get; set; }
public int expire { get; set; }
}
public class refresh
{
public string token { get; set; }
public int expire { get; set; }
}
并从数据中运行以下预期数据对象:
var data = JsonConvert.DeserializeObject<SiliconAuth>(jsonS);
但我返回一个空值,任何帮助将不胜感激。
【问题讨论】:
-
这种格式很难阅读,但看起来刷新是数据的属性
-
@Crowcoder 修复了格式
-
与问题没有直接关系,但如果您正在对 jsons 进行脱盐处理,则非常有用。有一个 VS 内置工具,可以从 json 本身生成您的类,它有点隐藏在扩展中,请参阅 @987654321 @
-
有一些工具可以帮助从 json 生成 C# 类。例如json2csharp.com 或app.quicktype.io。