मेरे पास इस तरह एक JSON फ़ाइल है:

 {
 "APIs": [
      {
        "name": "ALPHA.API01.10",
        "scope": "ALPHA",
        "service": "API01",
        "version": "1.0.0.0"
      },
      {
        "name": "ALPHA.API02.12",
        "scope": "ALPHA",
        "service": "API02",
        "version": "1.2.0.3"
      },
      {
        "name": "BETA.API01.10",
        "scope": "BETA",
        "service": "API01",
        "version": "1.0.0.0"
      },
      {
       "name": "BETA.API01.20",
       "scope": "BETA",
       "service": "API01",
       "version": "2.0.0.0"
      }
]}

मैं उसी दायरे में सेवा का नाम प्राप्त करने का प्रयास कर रहा हूं। उदाहरण के लिए स्कोप अल्फा के तहत मैं सभी सेवा नाम प्राप्त करना चाहता हूं।

इसके लिए मेरा सी # कोड यहां दिया गया है:

public class APIs
{
    public string name { get; set; }
    public string scope { get; set; }
    public string service { get; set; }
    public string version { get; set; }
}
public class APIObject
{
    public APIs[] APIs { get; set; }
}


JArray testArray = (JArray)jObject["APIs"];
var query = from testing in testArray
                select new APIs
                    {
                        scope = (string)testing["scope"],
                        service = (string)testing["service"],
                        version = (string)testing["version"]
                    };

List<APIs> testings = query.ToList() as List<APIs>;
var item = testings.Find(f => f.scope == "ALPHA");

इस कोड के साथ मैं एक सूची वस्तु के भीतर एपीआई की सूची प्राप्त कर सकता हूं। क्या मुझे कृपया कुछ बेहतर विचार मिल सकता है।

1
user7336033 17 अक्टूबर 2019, 19:15

1 उत्तर

सबसे बढ़िया उत्तर

आप JSON.Net का उपयोग कर सकते हैं।

  var data = Newtonsoft.Json.JsonConvert.DeserializeObject<APIObject>(jsonString);
  var result = data.APIs.Where(x => x.scope == "ALPHA").Select(x => x.service).ToList();
2
AmirNorouzpour 17 अक्टूबर 2019, 19:24