56053


Json.NETを用いて、あるAPIから取得したJSONの要素は以下のようになっています。

[code]

    { "array": [ ["a1", "b1", "c1"], ["a2", "b2", "c2"] ] }
    
[/code]

ここからC#で、"array"内n番目のリストのうち、b番目・c番目を出力するとしたらどう記述したらいいんでしょうか。

[code]

    bn
    cn
    
[/code]

keyがある分には整形こなせたんですが（{"aaa" : 1, "bbb" : 2}といった形式）。

また、それぞれの要素を選択してリスト化もしたいのです。  
例えばb番目 と c番目だけのリスト:

[code]

    b1, c1
    b2, c2
    
[/code]

初学者でもあり混乱中です。ご教授くださいませ。

* * *

現時点でのコード(Unityに書いているスクリプトなのでこうなっています):

[code]

    using System;
    using System.Collections;
    using System.Text;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Web;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using UnityEngine;
    
    public class flights : MonoBehaviour
    {
        void Start()
        {
            String url = "http://data-live.flightradar24.com/zones/fcgi/feed.js?adsb=1&mlat=1&faa=1&flarm=1&estimated=1&air=1&gnd=1&vehicles=1&gliders=1&array=1";
            WebRequest request = WebRequest.Create(url);
            Stream response_stream = request.GetResponse().GetResponseStream();
            StreamReader reader = new StreamReader(response_stream);
    
            var obj = JObject.Parse(reader.ReadToEnd());
            obj.Remove("full_count");
            obj.Remove("version");
            obj.Remove("copyright");
    
            Debug.Log(obj);
        }
    
[/code]

**APIへのリクエスト例**  
`http://data-
live.flightradar24.com/zones/fcgi/feed.js?adsb=1&mlat=1&faa=1&flarm=1&estimated=1&air=1&gnd=1&vehicles=1&gliders=1&array=1`

**APIから返されるJSONの例**

[code]

    {
      "aircraft": [
        [
          "209f7487",
          "3443CE",
          28.9494,
          -13.6094,
          39,
          0,
          32,
          "7777",
          "F-GCRR7",
          "GRND",
          "NAVAIDS",
          1561348914,
          "",
          "",
          "",
          1,
          0,
          "7777XLAN",
          0
        ],
        [
          "209f7638",
          "49F10B",
          50.0864,
          14.1998,
          2,
          0,
          0,
          "4127",
          "F-LKPR7",
          "GRND",
          "",
          1561348911,
          "",
          "",
          "",
          1,
          0,
          "",
          0
        ],
    
[/code]


CC BY-SA 4.0
2019-06-23T15:29:33.533
56039
2019-06-24T05:42:55.163
2019-06-24T05:19:55.647
3060
34843
question
c# json
JSONから必要な要素のみを抜き出したい


この件に特化して簡単に言えば、`obj.GetValue("aircraft").ToList()`でリスト化できます。  
その後は配列(JArray Class)としてアクセス出来ます。

`obj.Remove()`は不要です。以下のような感じですね。

[code]

    var obj = JObject.Parse(reader.ReadToEnd());
    var aclist = obj.GetValue("aircraft").ToList();
    
    Console.WriteLine(aclist.Count.ToString());
    Console.WriteLine(aclist[0]);
    Console.WriteLine(aclist[0][2]);
    
[/code]

表示結果の例はこんな感じで。

[code]

    1500
    [
      "209f7487",
      "3443CE",
      28.9494,
      -13.6094,
      39,
      0,
      32,
      "7777",
      "F-GCRR7",
      "GRND",
      "NAVAIDS",
      1561353334,
      "",
      "",
      "",
      1,
      0,
      "7777XLAN",
      0
    ]
    28.9494
    
[/code]

日本語の記事はこれくらいでしょうか。  
[Flightradar24 - Wikipedia](https://ja.wikipedia.org/wiki/Flightradar24)  
[JSON - Flightradar24 から飛行中の航空機情報を取得！](https://www.mk-
mode.com/blog/2016/02/08/fr24-getting-flight-info/)


CC BY-SA 4.0
2019-06-24T05:02:57.967
56053
2019-06-24T05:42:55.163
2019-06-24T05:42:55.163
26370
26370
56039
answer