2016-04-25 7 views
0

asp.net mvc-5 Webアプリケーションで作業しています.json.netを使用してjsonオブジェクトをserliazeして外部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"}]}}}' 

ので、2つのJSONオブジェクト間の唯一の違いは、ドキュメント内の1がの先頭に次の文字列を持っているということですそれは'INPUT_DATA={"息子は、どのように私のjsonオブジェクトがこの文字列にプレフィックスをつけることができますか?

+0

もう1つの違いは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オブジェクトに接頭辞を付ける必要があります私は次のwc.UploadStringTaskAsync(uri、 "INPUT_DATA =" + data ")を実行することになりました。 –

+0

接頭辞を付けるとしても、apiが特に両方を処理できると指定しない限り、そのフィールドは配列を期待しています。 – JDupont

関連する問題