gpt4 book ai didi

c# - 将 StackService.Text 和 JSON 用于对象列表

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:31 24 4
gpt4 key购买 nike

如有任何帮助,我们将不胜感激。

我正在尝试使用 StackService。文本和JSON以获取对象列表,即每个对象包含一个列表。

类的定义如下:

[DataContract]
public class GroupingList
{
[DataMember(Name = "id")]
public int Id
{
get; set;
}
[DataMember(Name = "name")]
public string Name
{
get; set;
}
[DataMember(Name = "form_field")]
public string FormField
{
get;
set;
}

[DataMember(Name = "groups")]
public List<GroupingOptions> Groups
{
get; set;
}
}

[DataContract]
public class GroupingOptions
{
[DataMember(Name = "bit")]
public string Bit
{
get; set;
}
[DataMember(Name = "name")]
public string Name
{
get; set;
}
[DataMember(Name = "display_order")]
public string DisplayOrder
{
get; set;
}
[DataMember(Name = "subscribers")]
public int Subscribers
{
get; set;
}
}

我正在使用“PostJsonToUrl()”方法,并接收以下字符串作为返回结果:

"\n[{\"id\":14101,\"name\":\"Accounting1\",\"form_field\":\"hidden\",\"display_order\":\"0\",\"groups\":[{\"bit\":\"1\",\"name\":\"Interest\",\"display_order\":\"1\",\"subscribers\":null},{\"bit\":\"2\",\"name\":\"Register\",\"display_order\":\"2\",\"subscribers\":null}]}]"

现在,当我尝试调用 FromJson(List<GroupingList>)方法,我收到以下异常:

Type definitions should start with a '{', expecting serialized type 'GroupingList', got string starting with: 
[{"id":14101,"name":"Accounting1","form_field":"h

谁能告诉我这个问题是否与“GroupingList”和“GroupingOptions”类的定义有关? 'PostJsonToUrl()' 的返回结果是一个列表(在本例中为一个条目),其中包含另一个列表(有两个条目),所以我不明白为什么调用 FromJson(List) 会失败。

非常感谢

最佳答案

问题是字符串开头的 \n 符号。您可以先将其删除,然后反序列化GroupingList

string result = "\n[{\"id\":14101,\"name\":\"Accounting1\",\"form_field\":\"hidden\",\"display_order\":\"0\",\"groups\":[{\"bit\":\"1\",\"name\":\"Interest\",\"display_order\":\"1\",\"subscribers\":0},{\"bit\":\"2\",\"name\":\"Register\",\"display_order\":\"2\",\"subscribers\":0}]}]";
result = result.Trim();
List<GroupingList> list = result.FromJson<List<GroupingList>>();

关于c# - 将 StackService.Text 和 JSON 用于对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565496/

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