ما هو ما يعادل JSON.NET من XML XPath، SelectNodes، SelectSingLenode؟

StackOverflow https://stackoverflow.com/questions/1698175

  •  18-09-2019
  •  | 
  •  

سؤال

في الوقت الحاضر، يستخدم هيكل الرمز الخاص بي XmlDocument لتحميل بيانات XML ثم SelectNodes للتكرار من خلال قائمة من العناصر المتكررة.

لكل عنصر، أنا أستخدم XmlNode.SelectSingleNode لاختيار العناصر الميدانية.

أرغب الآن في استخدام JSON.NET لتحقيق نفس النتائج مع المستندات التي تم تسليمها لي ك JSON. يمكن أن تكون الجواب شيئا آخر غير JSON.NET، طالما أنه C # قابل للتكامل.

هل كانت مفيدة؟

المحلول

json.net. قد selecttoken. يستخدم بناء جملة مشابه Databer.eval للحصول على JSON عبر تعبير سلسلة:

JObject o = JObject.Parse("{'People':[{'Name':'Jeff'},{'Name':'Joe'}]}");

// get name token of first person and convert to a string
string name = (string)o.SelectToken("People[0].Name");

أو إذا كنت ترغب في تحديد قيم متعددة:

JObject o = JObject.Parse("{'People':[{'Name':'Jeff','Roles':['Manager', 'Admin']}]}");

// get role array token of first person and convert to a list of strings
IList<string> names = (string)o.SelectToken("People[0].Roles").Select(t => (string)t).ToList();

توثيق: استعلام JSON مع SelectToken

نصائح أخرى

هل لديك تسلسل هرمي كائن يمكنك تعيين JSON؟ يمكنك إنشاء شجرة كائن (أي Deserialize JSON)، واستخدم LINQ Where, SelectMany, ، إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top