簡體   English   中英

創建一個JSON字符串並將其序列化

[英]Creating a JSON string and serializing it

考慮:

{
  "Session": "0544dffdrfded",
  "USERSession": "5588strrft235",
  "Id": "984",
  "Field.Type": "SingleField",
  "Fields[0].Name": "ID",
  "Fields[0].fieldType.typeName": "LOG",
  "Fields[0].helpText": "12587",
  "Fields[0].maxlength": 32,
  "Fields[0].name": "LOGIN",
  "Fields[0].size": 20,
  "Fields[0].value": "a",
  "Fields[0].Identifier": "LOGIN",
  "Fields[0].value": "LOGINFIELD",
  "Fields[0].isEditable": true,
  "Fields[1].displayName": "Password",
  "Fields[1].fieldType.typeName": "PASSWORD",
  "Fields[1].helpText": "285887",
  "Fields[1].maxlength": 32,
  "Fields[1].name": "PASSWORD",
  "Fields[1].size": 20,
  "Fields[1].value": "123",
  "Fields[1].valueIdentifier": "PASSWORD",
  "Fields[1].valueMask": "LOGINFIELD",
  "Fields[1].isEditable": true
}

我想要一個看起來類似於上述JSON參數的JSON字符串。 我正在使用以下代碼:

string jsonString = "{\"cobSessionToken\":'" + Session["cobsessiontoken"].ToString() + "',\"userSessionToken\":'" + Session["usersessintoken"].ToString() + "'\",\"siteId\":'" + Session["siteid"].ToString() + "',\"credentialFields.enclosedType\":'com.yodlee.common.FieldInfoSingle',\"credentialFields[0].displayName\":'Login ID',\"credentialFields[0].fieldType.typeName\":'IF_LOGIN',\"credentialFields[0].helpText\":'111427',\"credentialFields[0].maxlength\":'32',\"credentialFields[0].name\":'LOGIN',\"credentialFields[0].size\":'20',\"credentialFields[0].value\":'" + txtUserID.Text + "',\"credentialFields[0].valueIdentifier\":'LOGIN',\"credentialFields[0].valueMask\":'LOGIN_FIELD',\"credentialFields[0].isEditable\":'true',\"credentialFields[1].displayName\":'Password',\"credentialFields[1].fieldType.typeName\":'IF_PASSWORD'\",\"credentialFields[1].helpText\":'111428',\"credentialFields[1].maxlength\":'32',\"credentialFields[1].name\":'PASSWORD',\"credentialFields[1].size\":'20',\"credentialFields[1].value\":'" + txtPassword.Text + "',\"credentialFields[1].valueIdentifier\":'PASSWORD',\"credentialFields[1].valueMask\":'LOGIN_FIELD',\"credentialFields[1].isEditable\":'true'}";
         Label1.Text= JsonConvert.SerializeObject(jsonString);

我怎樣才能做到這一點?

正確的方法是通過Newtonsoft JSON DLL文件對對象進行序列化和反序列化。 此鏈接直接從源提供了很好的樣本:

http://www.newtonsoft.com/json/help/html/SerializingJSON.htm

因此,我建議使用對象而不是構建字符串。 它容易出錯,維護性也不佳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM