2016-04-21 111 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;