[英]Combine 2 Serialized json string
這是我將字典序列化為 JSON 的方式:
Dictionary<string, string> dictFormValues = new Dictionary<string, string>();
Dictionary<string, string> hsContext = new Dictionary<string, string>();
dictFormValues.Add("firstname", "Name");
dictFormValues.Add("lastname", "LastName");
dictFormValues.Add("email", "Email");
hsContext.Add("ipAddress", "ip");
hsContext.Add("pageUrl", "url");
hsContext.Add("pageName", "Title");
System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();
string strFormContentJSON = json.Serialize(dictFormValues); //First JSON
string strHubSpotContextJSON = json.Serialize(hsContext); //Second JSON
我如何將這兩個組合在一起,它們將如下所示:
var data = {
"fields": [
{
"name": "firstname",
"value": "Name"
},
{
"name": "lastname",
"value": "LastName"
},
{
"name": "email",
"value": "Email"
}
],
"context": {
"ipAddress": "ip",
"pageUri": "url",
"pageName": "Title"
}
}
我試過這樣的事情,但我不知道這是否正確:
string strPostData = "";
strPostData = json.Serialize(new { OneDetails = strFormContentJSON, TwoDetails = strHubSpotContextJSON });
如果您想獲得該確切格式,唯一的方法是編寫自定義 JsonConverter。
如果您使用 NewtonSoft,您將有兩種方法可以覆蓋:ReadJson(...) 和 WriteJson(...),一種用於序列化,另一種用於反序列化。 這樣您就可以編寫自己的代碼來負責序列化和反序列化。
在您的情況下,您可以將兩個字典合並為一個並將其轉換為 Json 字符串。 當您反序列化該字典 Json 字符串時,您的自定義代碼就會啟動,您可以隨心所欲。
檢查 NewtonSoft 文檔: https ://www.newtonsoft.com/json/help/html/CustomJsonConverter.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.