【发布时间】:2022-01-15 20:43:59
【问题描述】:
我想将以下内容转换为 C# 类,有人可以帮忙吗?我尝试了许多不同的突变,但没有一个能真正将Params 映射到类。
{
"method": "update",
"params": [
true,
{
"y": [
[
"3",
"5"
],
[
"1",
"2"
]
],
"x": [
[
"1",
"2"
],
[
"2",
"1"
]
],
"id": 1111,
"update": 164227,
"current": 164227
},
"TESTING"
],
"id": null
}
到目前为止,我可以生成以下内容,但不幸的是,它无法将Params 映射到类,我想在列表中获取X 和Y 的值:
public class Data
{
[JsonProperty("method")]
public string Method { get; set; }
[JsonProperty("params")]
public List<ParamTest> Params { get; set; }
[JsonProperty("id")]
public object Id { get; set; }
}
public class ParamClass
{
[JsonProperty("x")]
public string[][] X { get; set; }
[JsonProperty("x")]
public string[][] Y { get; set; }
}
public struct ParamTest
{
public bool Bool;
public List<ParamClass> ParamClass;
public string String;
public static implicit operator ParamTest(bool Bool) => new ParamTest { Bool = Bool };
public static implicit operator ParamTest(List<ParamClass> ParamClass) => new ParamTest { ParamClass = ParamClass };
public static implicit operator ParamTest(string String) => new ParamTest { String = String };
}
【问题讨论】:
-
@Steve 我尝试了所有这些在线工具。但都不起作用!快速打字。 json2csharp,还有 10 个..
-
您是否尝试过为该属性编写自定义转换器
-
嗯,QuickType 真的没有为它提供工作类吗?在我看来,当我将一个混合数组放入其中时,它正在编写大量合理的自定义 deser。i.stack.imgur.com/qNu3v.jpg
-
(关于“QuickType 不起作用”的说法,我不得不承认我在制作上面的截图时没有测试它(我在手机上),但是你喜欢吗它说在生成代码顶部的 cmets 中?即使用他们生成的
FromJson帮助器来注册生成的自定义转换器等,或者您是否在没有自定义转换器的情况下以基本的JsonConvert.DeserializeObject<SomeQTClass>(str)方式使用它..)跨度>
标签: c# json serialization deserialization json-deserialization