MVCアプリケーションでは、特定のサーバーからjson文字列を取得します。私はChromeでテスト目的のためにJSONを取得し、私はこのasp.net mvcのjsonに関する問題
{
ultima_prelucrare: "2013-11-25",
ultima_declaratie: "2013-11-25",
tva_la_incasare: [ ],
tva: null,
telefon: "0745040840",
stare: "INREGISTRAT din data 04 Iulie 2007",
radiata: false,
numar_reg_com: "J40/12836/2007",
meta: {
updated_at: "2016-08-30T19:05:29.922418",
last_changed_at: null
},
judet: "Municipiul București",
impozit_profit: null,
impozit_micro: "2011-01-01",
fax: null,
denumire: "Infosystems4u S.R.L.",
cod_postal: "61954",
cif: "22052442",
adresa: "Aleea Baiut, 9a, Bucuresti",
act_autorizare: null,
accize: null
}
とOKですを取得し、すべての 拳。 今すぐ自分のアプリに戻ってください。私はすでにこの構造を記述するモデルを持っています。このフィールドを持つアプリケーションに顧客を追加するためのビューがあります。 私のシナリオでは、 "cif"フィールドの値を指定してから、指定されたサーバーに対してWeb要求を行い、上記のjsonを取得した後でそれを望みます。 jsonが取得されますが、newtonsoftで非直列化しようとすると "["文字についての例外が発生します。ここで私は[引用符文字の間に囲まれていないが、それがサーバーからどのように来るのかということに気づいた。非常に短いオン 私のコードは次のようである(今のコードは、単にコントローラのデフォルトアクションの内部にあるが、私はこの後からに対処することができます):
//call openapi.ro
string CompanyCUI = "22052442";
// Create a new 'Uri' object with the specified Company ID string.
Uri myUri = new Uri("https://api.openapi.ro/api/companies/"+CompanyCUI+".json");
// Create a new request to the above mentioned URL.
WebRequest myWebRequest = WebRequest.Create(myUri);
//Add the required header to request
myWebRequest.Headers.Add("x-api-key", "8P4RP_kwn71Nt8VG7boFmQb_7NsihyQxT_x7JGcGQkvPdXZH2Q");
// Assign the response object of 'WebRequest' to a 'WebResponse' variable.
WebResponse myWebResponse = myWebRequest.GetResponse();
// Read the response into a stream
var dataStream = myWebResponse.GetResponseStream();
var reader = new StreamReader(dataStream);
var jsonResultString = reader.ReadToEnd();
// Deserialize
var CompanyInfoData = Newtonsoft.Json.JsonConvert.DeserializeObject<CustomerModels>(jsonResultString);
//Feed the model with retrieved data
//...
//Save all
//...
は、今私は、JSONの内容と間違っている可能性がものを見つけることを想定し、最終的にさらに進めるには、次のステップは、ユーザーがフォームの[保存]ボタンを押す前に、取得した値でフォームのeditboxコントロールを入力することです。私の気になるのは、フォーム内に2つのボタンが必要なことです.1つはWebリクエストを呼び出し、目的の値で塗りつぶし、もう1つは保存ボタンです。私は実際には1つのフォーム内の2つのボタンをどう扱うべきか分かりません。
は、任意のヒント
あなたのJSONはjsonlint.comを検証しません。あなたのフィールドは二重引用符で囲んでください。\t "ultima_prelucrare": "2013-11-25"、0\t "ultima_declaratie": "2013-11-25"、.... – smoore4
モデルを表示する ' CustomerModels' –
は次のようになります:public class CustomerModels { // public string ultima_prelucrare {get;セット; } 公開ストリングultima_declaratie {get;セット; } 公開リスト