作爲使用VB.Net 2015社區的VB.Net程序員,我遇到了需要轉換爲VB的C#中的項目,但是這一次我不明白我在處理什麼。該網站的服務,我消費的回報,並希望像JSON/JOBJECTS結構:如何從VB.Net生成特定的JSON輸出?
var token = new {
iss = PARTNERID,
product = "twpemp",
sub = "partner",
siteInfo = new {
type = "id",
id = SITEID
},
exp = (Int32)DateTime.UtcNow.Add(new TimeSpan(0, 4, 30)).Subtract(new DateTime(1970, 1, 1)).TotalSeconds
};
在線轉換器轉換成這樣:
Dim EPochTime = DateTime.UtcNow.Add(New TimeSpan(0, 4, 0)).Subtract(New DateTime(1970, 1, 1)).TotalSeconds
Dim Token = New With {
Key .iss = AccNumber,
Key .product = "twppartner",
Key .sub = "partner",
Key .siteInfo = New With {
Key .type = "id",
Key .id = Site},
Key .exp = EPochTime
}
我需要動態地創建這種類型的結構,因爲「關鍵名稱「,值根據返回的內容和需要發送回來而改變。例如,根據從上面的SITEID,返回結構可能有這樣的東西:
"Results": [
{
"RecordNumber": 000001,
"EmployeeCode": "0001",
"FirstName": "John",
"MiddleName": "A",
"LastName": "Dow",
"Designation": "Worker",
"Home1": "Press",
},
{
"RecordNumber": 000002,
"EmployeeCode": "0002",
"FirstName": "Jane",
"MiddleName": "b",
"LastName": "Dow",
"Designation": "Helper",
"Home1": "Office",
}
}
在接下來的客戶我提交的查詢,並最終需要更新可能有:
"Results": [
{
"RecordNumber": 12345,
"EmployeeCode": "231",
"FirstName": "Erick",
"MiddleName": "G",
"LastName": "Smith",
"Department": "Electrial",
},
{
"RecordNumber": 732456,
"EmployeeCode": "853",
"FirstName": "Fred",
"MiddleName": "W",
"LastName": "Kerber",
"Department": "Electrial",
}
}
兩者之間的差異是一個有「部門」,另一個沒有。該結構根據第一次調用的siteID進行更改。
我的主要問題是如何在VB.NET中動態創建類似的東西,其次,究竟是什麼類型的東西叫?我把它稱爲缺乏更好詞彙的結構。
你的第二塊已經在VB中動態創建它,那麼最新的問題是什麼?序列化結果是否與您需要發送的內容匹配?它們被稱爲*匿名類型* – Plutonix
鍵名稱從siteID更改爲siteID。感謝您的類型名稱,我會進一步研究它! Fred –
那又如何?您只需根據您的需要輸入不同的*屬性名稱*。基礎和第二部分,因爲你想他們的數組(顯然),我只是使用一對具體類 - 也許是從一個類與共享部分繼承。您可以像創建匿名類型那樣有條件地創建類型A或類型B的集合 – Plutonix