如何为我的json序列化对象添加根名称
我正在研究一个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对象前缀这个字符串?
所以,如果我的评论是不明确的,这样的事情,而不是:
{
"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"
}
]
}
}
}
这不会有任何区别,我必须在json对象前加上字符串input_data ..所以我最终做了以下wc.UploadStringTaskAsync(uri,“INPUT_DATA =”+ data); –
即使你加了前缀,该字段仍然期待着一个数组,除非该API专门声明它可以处理这两个数组。 – JDupont
另一个不同之处是ResourceCustomField对象的数组。 – JDupont
https://stackoverflow.com/questions/33255519/how-can-i-generate-json-using-jsonconvert-serializeobject/33256212#33256212 –