2016-04-25 68 views
0

我正在研究一個asp.net mvc-5 web應用程序,並且我正在使用json.net來serliaze一個json對象並將其發回給外部API。如何爲我的json序列化對象添加根名稱

現在目前的JSON對象將是如下: -

{ 
    "operation":{ 
    "Detail":{ 
     "RESOURCENAME":"test123", 
     "ACCOUNTNAME":"admin", 
     "RESOURCETYPE":"windows", 
     "PASSWORD":"Test2Test2", 
     "NOTES":"From TMS", 
     "RESOURCEURL":null, 
     "RESOURCECUSTOMFIELD":{ 
     "CUSTOMLABEL":"Asset Tag", 
     "CUSTOMVALUE":"C100100" 
     } 
    } 
    } 
} 

但我會從該JSON是不正確的格式API得到一個錯誤。現在基於API文檔傳遞JSON需要在以下格式上: -

curl -X POST -k -H "Content-Type: text/json" 
'https://192.168.39.29:7272/restapi/json/v1/resources?AUTHTOKEN=B9A1809A-5BF 
7-4459-9ED2-8D4F499CB902' -d 
'INPUT_DATA={"operation":{"Details":{"RESOURCENAME":"Windows 
Server","ACCOUNTNAME":"Administrator","RESOURCETYPE":"Windows","PASSWORD" 
:"Test123#@!","NOTES":"Testing 
API","RESOURCEURL":"http://windowsserver/adminconsole","RESOURCECUSTOMFIEL 
D":[{"CUSTOMLABEL":"Secure Resource","CUSTOMVALUE":"YES"}]}}}' 

所以兩個JSON對象之間唯一的區別是,在文檔內的一個已在在頂部以下字符串它兒子肯定我如何mosifty我的JSON對象前綴這個字符串?

+0

另一個不同之處是ResourceCustomField對象的數組。 – JDupont

+0

https://stackoverflow.com/questions/33255519/how-can-i-generate-json-using-jsonconvert-serializeobject/33256212#33256212 –

回答

0

所以,如果我的評論是不明確的,這樣的事情,而不是:

{ 
     "operation":{ 
     "Detail":{ 
      "RESOURCENAME":"test123", 
      "ACCOUNTNAME":"admin", 
      "RESOURCETYPE":"windows", 
      "PASSWORD":"Test2Test2", 
      "NOTES":"From TMS", 
      "RESOURCEURL":null, 
      "RESOURCECUSTOMFIELD":[ 
      { 
       "CUSTOMLABEL":"Asset Tag", 
       "CUSTOMVALUE":"C100100" 
      }, 
      { 
       "CUSTOMLABEL":"Another Tag", 
       "CUSTOMVALUE":"C100101" 
      } 
      ] 
     } 
     } 
    } 
+0

這不會有任何區別,我必須在json對象前加上字符串input_data ..所以我最終做了以下wc.UploadStringTaskAsync(uri,「INPUT_DATA =」+ data); –

+0

即使你加了前綴,該字段仍然期待着一個數組,除非該API專門聲明它可以處理這兩個數組。 – JDupont

相關問題