【发布时间】:2019-05-23 14:59:54
【问题描述】:
我有下面的 JSON 对象
myvalues : {
0 : "value0",
1 : "value1",
2 : "value2",
3 : "value3"
}
我想将此 JSON 对象绑定到 vb.net 类对象中,作为 WCF OperationContract 方法的输入 - 但我无法将数字属性名称定义为数字。我收到错误消息:
属性名称需要标识符,因为属性名称不能是数字
使用以下内容:
Public class myvalues_class
public property 0 as string
public property 1 as string
public property 2 as string
public property 3 as string
end class
如何将此 JSON 对象转换为 vb.net 对象类?
【问题讨论】:
-
看起来更像是字典而不是属性列表。如果你真的想要属性,你可以看看 DataContract
-
您可以将
myvalues反序列化为Dictionary(Of Integer, String)或将<JsonProperty("N")>属性添加到myvalues_class中的属性,如How can I parse a JSON string that would cause illegal C# identifiers?。这个问题是针对 c# 的,但同样的答案也适用。同意这是重复的吗? -
很高兴为您提供帮助,无需道歉 - 您的问题很明确,并且没有 vb.net 重复项。 但无法将 JSON 属性 0 反序列化为 VB.NET 类属性 0。 - 你还有问题吗?
-
看起来效果很好,见dotnetfiddle.net/fvR9ED
-
或者你没有使用json.net?你用的是什么序列化器?可以分享minimal reproducible example吗?
标签: json vb.net wcf object properties