2016-04-25 75 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

相关问题