Heim Backend-Entwicklung C#.Net-Tutorial Ausführliche Erläuterung der Methode von ASP.NET zum Extrahieren mehrschichtiger verschachtelter JSON-Daten

Ausführliche Erläuterung der Methode von ASP.NET zum Extrahieren mehrschichtiger verschachtelter JSON-Daten

Feb 10, 2017 pm 05:02 PM

Dieser Artikel stellt hauptsächlich die Methode von ASP.NET zum Extrahieren mehrschichtiger verschachtelter JSON-Daten und die Methode zur Verwendung der Drittanbieter-Klassenbibliothek Newtonsoft.Json zum Extrahieren mehrschichtiger verschachtelter JSON-Daten vor Erfahren Sie mehr darüber.

Das Beispiel in diesem Artikel beschreibt die Methode von ASP.NET, die die Klassenbibliothek Newtonsoft.Json eines Drittanbieters verwendet, um mehrschichtige verschachtelte JSON-Daten zu extrahieren. Das spezifische Beispiel lautet wie folgt.

Angenommen, die JSON-Zeichenfolge, die extrahiert werden muss, lautet wie folgt:

{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}
Nach dem Login kopieren

Zitat zuerst den Namespace:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
Nach dem Login kopieren

Sie können die obige JSON-Zeichenfolge als Objekt betrachten. Schreiben Sie einfach die entsprechende Klasse (wenn Sie VS2013 für die Entwicklung verwenden, können Sie „Bearbeiten – Einfügen Spezial“ verwenden - „JSON Paste as Class“ konvertiert JSON-Strings schnell in Entitätsklassen folgt:

 public class UserInfo
 {
  public string name;
  public int age;
  public address addr;
 }
 public class address
 {
  public string city;
  public string province;
 }
Nach dem Login kopieren

2. Um den Wert eines Attributs in JSON zu lesen, können Sie den folgenden Code verwenden:

string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}";
UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));
Nach dem Login kopieren

3. Interpretieren Sie mehrschichtig verschachteltes JSON und erhalten Sie den Wert eines beliebigen Attributs:

Wenn die zu verarbeitende JSON-Zeichenfolge wie folgt lautet:

JObject jsonObj = JObject.Parse(jsonData);
string name=jsonObj ["name"].ToString();
string age=jsonObj ["age"].ToString();
string city=((JObject )jsonObj ["addr"])["city"].ToString();
string province=((JObject )jsonObj ["addr"])["province"].ToString();
Nach dem Login kopieren

Dann geben Sie ein Objekt ein, z. B. „Stadt“, das System gibt „guangzhou“ aus, gibt „Alter“ ein und gibt „23“ aus ". Da JSON mehrstufig verschachtelt ist, muss es einzeln durchlaufen werden. Der Code lautet wie folgt:

{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}};
Nach dem Login kopieren

Code zum Aufrufen von GetJsonValue:

  public string GetJsonValue(JEnumerable<JToken> jToken, string key)
  {
   IEnumerator enumerator = jToken.GetEnumerator();
   while (enumerator.MoveNext())
   {
    JToken jc = (JToken)enumerator.Current;
    if (jc is JObject || ((JProperty)jc).Value is JObject)
    {
     return GetJsonValue(jc.Children(), key);
    }
    else
    {
     if (((JProperty)jc).Name == key)
     {
      return ((JProperty)jc).Value.ToString();
     }
    }
   }
   return null;
  }
Nach dem Login kopieren

Wenn es sich um ein mehrstufiges verschachteltes Array handelt, können Sie auch den folgenden Code verwenden:

string jsonData = "{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}";
JObject jsonObj = JObject.Parse(jsonData);
Response.Write(GetJsonValue(jsonObj.Children(), "province"));
Nach dem Login kopieren

4. JSON zu XML:

string jsonData = "{\"addr\":[{\"city\":\"guangzhou\",\"province\":\"guangdong\"},{\"city\":\"guiyang\",\"province\":\"guizhou\"}]}";
JObject jsonObj = JObject.Parse(jsonData);
JArray jar = JArray.Parse(jsonObj["addr"].ToString());
JObject j = JObject.Parse(jar[0].ToString());
Response.Write(j["city"]);
Nach dem Login kopieren

Kopieren Sie den Code wie folgt:

string xmlstr=(( XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).


Das Obige ist der gesamte Inhalt dieses Artikels, und ich hoffe auch, dass er hilfreich ist Jeder wird die chinesische PHP-Website unterstützen.

Ausführlichere Erklärungen zum Extrahieren mehrschichtiger verschachtelter JSON-Daten durch ASP.NET und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie C-Compiler der nächsten Ebene hinzu So fügen Sie C-Compiler der nächsten Ebene hinzu Mar 03, 2025 pm 05:44 PM

So fügen Sie C-Compiler der nächsten Ebene hinzu

Was sind die Alternativen zu Null in der C -Sprache Was sind die Alternativen zu Null in der C -Sprache Mar 03, 2025 pm 05:37 PM

Was sind die Alternativen zu Null in der C -Sprache

Methode zum Kopieren von Code nach C -Sprachkompiler Methode zum Kopieren von Code nach C -Sprachkompiler Mar 03, 2025 pm 05:43 PM

Methode zum Kopieren von Code nach C -Sprachkompiler

Welcher C -Sprachkompiler ist besser? Welcher C -Sprachkompiler ist besser? Mar 03, 2025 pm 05:39 PM

Welcher C -Sprachkompiler ist besser?

Was sind die Webversionen von C -Sprach Compilern? Was sind die Webversionen von C -Sprach Compilern? Mar 03, 2025 pm 05:42 PM

Was sind die Webversionen von C -Sprach Compilern?

Ist Null in der modernen Programmierung in der C -Sprache noch wichtig? Ist Null in der modernen Programmierung in der C -Sprache noch wichtig? Mar 03, 2025 pm 05:35 PM

Ist Null in der modernen Programmierung in der C -Sprache noch wichtig?

C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung Mar 03, 2025 pm 05:41 PM

C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung

C Sprachkompilierer -Installations -Tutorial (Computerversion) C Sprachkompilierer -Installations -Tutorial (Computerversion) Mar 03, 2025 pm 05:41 PM

C Sprachkompilierer -Installations -Tutorial (Computerversion)

See all articles