So extrahieren Sie mehrschichtige verschachtelte JSON-Daten in asp.net

高洛峰
Freigeben: 2017-02-10 17:03:57
Original
1444 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode von asp.net zum Extrahieren mehrschichtiger verschachtelter JSON-Daten vorgestellt. Er analysiert detailliert die Schritte und zugehörigen Betriebsfähigkeiten von asp.net zum Parsen von Daten im JSON-Format Referenzwert. Freunde in Not können sich auf

Dieser Artikel beschreibt die Methode zum Extrahieren mehrschichtiger verschachtelter JSON-Daten in asp.net. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Extrahieren Sie JSON wie folgt in .net 2.0:

Kopieren Sie den Code Der Code ist wie folgt:

{"name":"lily", "age":23,"addr":{"city":guangzhou,"province":guangdong}}

Referenz-Namensraum :

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

Sie können sich das obige JSON als Objekt vorstellen. Sie müssen nur die entsprechende Klasse schreiben

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

Dann schreiben Sie dies in den Parsing-Bereich:

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

Um den Wert von City zu erhalten, gehen Sie einfach wie folgt vor: user.addr.City;

Es kann auf diese Weise implementiert werden

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

Wie kann dieser JSON dynamisch sein? Sie können beispielsweise einen JSON-Code eingeben, z. age":23," addr":{"city":guangzhou,"province":guangdong}};

ermöglicht Ihnen dann die Eingabe eines Objekts, z. B. einer Stadt, und dann gibt das System den Wert aus In diesem Fall wird JSON dynamisch generiert. Ja, ich würde gerne wissen, ob es eine Möglichkeit gibt, solchen JSON zu lesen. (Beachten Sie, dass JSON auf mehreren Ebenen verschachtelt ist.)

Verwenden Sie beim Aufruf einfach Traversal

:

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 mehrere Ebenen verschachtelter Arrays gibt

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

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
Code kopieren

Der Code lautet wie folgt:

string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.ToString();

Weitere Artikel zur asp.net-Methode zum Extrahieren mehrschichtiger verschachtelter JSON-Daten finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!