In einer MVC-Anwendung ich eine JSON-Zeichenfolge von einem bestimmten Server abrufen. Faust alles, was ich zu Testzwecken die json mit Chrome abrufen und ich bekomme dieseProblem mit JSON in asp.net MVC
{
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
}
und ist OK. Jetzt zurück zu meiner App. Ich habe bereits ein Modell, das diese Struktur beschreibt. Ich habe eine Ansicht zum Hinzufügen eines Kunden in meiner Anwendung mit diesen Feldern. In meinem Szenario möchte ich, dass nach der Bereitstellung eines Werts für "CIF" -Feld, und dann eine Web-Anfrage für den angegebenen Server und rufen Sie die oben genannten JSON. Der JSON wird abgerufen, aber wenn ich versuche, mit newtonsoft zu deserialisieren, wird eine Ausnahme bezüglich "[" - Zeichen ausgelöst. Hier habe ich festgestellt, dass [ist nicht zwischen Zitat-Zeichen eingeschlossen, sondern ist so, wie es vom Server kommt. sehr kurz auf meinem Code ist wie (jetzt ist der Code einfach in der Standardaktion im Controller, aber ich kann diese späte Adresse):
//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
//...
nun angenommen, dass ich das finden, was mit json Inhalt falsch sein kann, und Wie geht es weiter? Der nächste Schritt besteht darin, die Editbox-Steuerelemente in meinem Formular mit den abgerufenen Werten zu füllen, bevor der Benutzer auf die Schaltfläche Speichern des Formulars klickt. Was mich stört ist, dass ich zwei Knöpfe in meinem Formular brauche, einen für das Aufrufen der Web-Anfrage und füllen Sie mit den gewünschten Werten, und zweitens die Schaltfläche Speichern, und ich weiß wirklich nicht, wie man mit zwei Tasten in einem einzigen Formular umgehen.
Vielen Dank im Voraus für jeden Hinweis
Ihre json nicht mit jsonlint.com nicht validieren. Sie sollten Ihre Felder auch in Anführungszeichen haben wie diese \t "ultima_prelucrare": "2013-11-25", \t "ultima_declaratie": "2013-11-25", .... – smoore4
Zeigen Sie das Modell für ' CustomerModels' –
Jetzt ist wie: öffentliche Klasse CustomerModels { // öffentliche Zeichenfolge ultima_prelucrare {bekommen; einstellen; } öffentliche Zeichenfolge ultima_declaratie {get; einstellen; } öffentliche Liste