gpt4 book ai didi

C# json反序列化对象

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:52 26 4
gpt4 key购买 nike

我尝试反序列化简单的 json 文件:

{
"field1_Class1":100,
"field2_Class1":500,
"field3_Class1":500,
"field4_Class1":500,
"field5_Class1":500,
"field6_Class1":500,

"field1_Class2": 200,
"field2_Class2": "String1",
"field3_Class2": "String2",
"field4_Class2": "String3",
"field5_Class2": "String4"
}

如果所有这些字段都是 Сclass3 的字段,那么像这样反序列化它会很简单:

Class3 p = JsonConvert.DeserializeObject<Class3>(content);

但是我有这个结构:

public class Class1
{
int field1;
int field2;
int field3;
int field4;
int field5;
int field6;
}

public class Class2
{
int field1;
String field2;
String field3;
String field4;
String field5;
}

public class Class3
{
Class1 field1;
Class2 field2;
}

因此,如果我有两个 json 文件,我可以非常简单地解析每个类(Class1 和 Class2)。但是我有一个 json 文件和这种结构,但我不知道如何以真正简单的方式解析它。

我的英语不是很好,所以要宽容。谢谢。

最佳答案

最好将 json 分成两部分,以减少构造函数中的参数。

public Class3(string json)
{
field1 = JsonSerializer.DeserializeFromString<Class1>(ResolveJsonPart(json, 1));
field2 = JsonSerializer.DeserializeFromString<Class2>(ResolveJsonPart(json, 2));
}

private string ResolveJsonPart(string json, int fieldNumber)
{
// Here resolve json file
}

关于C# json反序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677311/

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