我使用的是Newtonsoft.JSon.Linq,在这一点上,我有点困惑于如何让我的项目以我需要的方式工作。为了跳进主题,我会做什么或者至少想做什么。
我想基于具有这种结构的JSon的JSon节点的第二级将JSon数据提取到结构中:
{
"country" : {
"germany" : {
"capital" : "berlin",
"inhabitants_in_million" : 82,
"zip-codes" : [
[
"berlin",
10115
],
[
"hamburg",
21145
],
[
"munich",
80331
]
]
},
"france" : {
"capital" : "paris",
"inhabitants_in_million" : 67,
"zip-codes" : [
[
"paris",
75001
],
[
"marseille",
13000
]
]
}
}
到目前为止,我的结构是这样的:
Public countries As List(Of country)
Public Structure country
Public name As String
Public capital As String
Public inhabtitants As Integer
End Structure
我正在使用此代码来读取JSon的数据:
Private Sub json_sub()
For Each n In json_object
For Each n_2 As JProperty In n.Value
Dim c As New country
c.name = n_2.Name
c.capital = json_object.SelectToken("country").SelectToken(n_2.Name).SelectToken("capital")
c.inhabtitants = json_object.SelectToken("country").SelectToken(n_2.Name).SelectToken("inhabitants_in_million")
countries.Add(c)
Next
Next
End Sub
但我在某种程度上与[]序列化的数据斗争,因为它的数组和我迄今为止的所有尝试都没有成功。我浏览了很长时间并阅读了关于deserializiation的内容,但不幸的是,我现在已经陷入困境了。
我的目标是将此数组中的值添加到一个字符串中,该字符串应如下所示:
berlin,10115;hamburg,21145;munich,80331
所以我可以使用
将此字符串添加到我的结构国家/地区Public zip_codes As String
此时不使用在我的项目中不方便的数组。我希望任何人都可以告诉我如何实现这一目标。
诚恳, 恩