2016-04-21 115 views
1

我要创建一个JSON字符串,它应该是这样的结尾:添加JObject到另一个JObject在VB.NET

{ 
    "PersonId": "abc", 
    "Firstname": "Max", 
    "Lastname": "Muster", 
    "AddressLine1": "Hauptstrasse 3", 
    "ZipCode": "8000", 
    "City": "Zürich", 
    "ClubRelatedPersonDetails": 
    { 
    "IsGliderInstructor": true, 
    "IsGliderTrainee": false, 
    "IsTowPilot": true, 
    } 
} 

我已经有两个独立的JObjects

  • 一个叫pers其中包含所有的名称和地址信息(PersonIdCity在上面的例子)
  • 和另一个叫clubPers它包含俱乐部相关的信息(IsGliderInstructor通过IsTowPilot

所以我要补充clubPers作为JObjectpers,我觉得呢?我怎样才能在VB.NET中做到这一点?

+0

看吧:http://stackoverflow.com/questions/15413825/how-do-you-add-a-jtoken-to-an -jobject –

回答

1

只需在第一个JObject上使用Add方法,提供所需的属性名称和其他JObject作为参数。

例如:

Dim json1 As String = _ 
    "{" + _ 
    " ""PersonId"": ""abc""," + _ 
    " ""Firstname"": ""Max""," + _ 
    " ""Lastname"": ""Muster""," + _ 
    " ""AddressLine1"": ""Hauptstrasse 3""," + _ 
    " ""ZipCode"": ""8000""," + _ 
    " ""City"": ""Zürich""" + _ 
    "}" 

Dim json2 As String = _ 
    "{" + _ 
    " ""IsGliderInstructor"": true," + _ 
    " ""IsGliderTrainee"": false," + _ 
    " ""IsTowPilot"": true" + _ 
    "}" 

Dim pers As JObject = JObject.Parse(json1) 
Dim clubPers As JObject = JObject.Parse(json2) 

pers.Add("ClubRelatedPersonDetails", clubPers) 

Console.WriteLine(pers.ToString()) 

输出:

{ 
    "PersonId": "abc", 
    "Firstname": "Max", 
    "Lastname": "Muster", 
    "AddressLine1": "Hauptstrasse 3", 
    "ZipCode": "8000", 
    "City": "Zürich", 
    "ClubRelatedPersonDetails": { 
    "IsGliderInstructor": true, 
    "IsGliderTrainee": false, 
    "IsTowPilot": true 
    } 
} 
0

如果选项严格和显式的选项是关闭:

Dim pers = JObject.Parse(json1) 
Dim clubPers = JObject.Parse(json2) 

pers.ClubRelatedPersonDetails = clubPers 

Console.WriteLine(pers.ToString()) 

如果他们在,然后用布莱恩·罗杰斯的回答。


奖励:在C#中我们写,

dynamic pers = JObject.Parse(json1); 
dynamic clubPers = JObject.Parse(json2); 

pers.ClubRelatedPersonDetails = clubPers;