【c#/JSON】所与のJSONデータをセットに変換し、フロントに表示する


練習は以下の通りです.手にJSONデータがあります.私はそれを集合に変換し、フロントに送って閲覧する必要があります.
——————————————————————————————————————————————
前提:
まずプロジェクトにJSONファイルを作成し、具体的なjsonデータをブログの最後に置きます.
c#を使用しているので、使用前に対応するdll:Newtonsoft.Json、公式サイトアドレスを参照する必要があります.NuGetで直接PMダウンロードすることもできます.
PM> Install-Package Newtonsoft.Json
成功すると、対応するdllライブラリを参照できます.
using Newtonsoft.Json;
  
using Newtonsoft.Json.Linq;
//             ,    。

——————————————————————————————————————————
JSONを汎用集合にする:
バックグラウンドで直接汎用コレクションリストに変換する--List:
JSONをリストに変換するので、JSONのオブジェクトを表す対応するクラスを自然に作成します.
簡単な方法は、JSONデータをコピーして「編集」-」「選択的に貼り付ける」-」「JSONをクラスに貼り付ける」(xmlをクラスに貼り付ける方法も同様).  このように生成されたクラスに注意してください.最外層はRootobjectで、必ずしも使用する必要はありません.削除する必要があります.
 
以下のjsonデータ(文末)をこのようなクラスとして定義した.
public class stuTable {
   public string Name { get; set; }
    //   :
   public List Students { get; set; }
    //   
    public Student[] Students{ get; set; }
}

public class Student
{
    public string Name { get; set; }
    public string Gender { get; set; }
    public string Age { get; set; }
}

なお、JSONデータは「配列--オブジェクト--キー値対/キー値(配列オブジェクト)対」の形式であるため、定義したオブジェクトクラスには奥層の汎用集合リスト(または配列オブジェクト)が必要である.public classのデフォルトクラス内の権限はprivateであるため、publicへのアクセス権も与えられることに注意してください.
C++でclassで定義されたクラスでは、メンバーのデフォルトアクセス権はprivateです.C++でstructで定義された構造体では、そのメンバーのデフォルトアクセス権限はpublicです.またstructで定義された構造体は値タイプであり,効果はクラスと類似している.管理スタックの負担を軽減し、小さなオブジェクトに適用します.
クラスが作成されたら、それを読み取ります.
jsonはローカルファイルなので、空のオブジェクトへのアクセスを防止しながらローカルでアクセスする必要があります.例外処理を追加する必要があります.
//  IO  
using System.IO;
…………………………
try
{
    Encoding encoding = Encoding.Default;
    String url = "/01work/   AllTest/   AllTest/json1.json";
    StreamReader SR = new StreamReader(url);
    String content = SR.ReadToEnd();
    SR.Dispose();

    /*
    *     
    */

    Console.Write("   :     :"+content);
    Console.Read();
}
catch (Exception e)
{
    Console.WriteLine(e);
    throw;
}

このとき、JOSNファイルを読み出し、文字列としてcontentに格納し、読み出し後すぐにTextReaderのリソースを解放します.
 
今読み込んで、クラスもあって、引用したNewtonsoft.Jsonライブラリもあって、自然に変換しなければなりません.
2つの変換方法:
using Newtonsoft.Json;
//              
————————————————————
//           
List stuTables = JsonConvert.DeserializeObject>(content);

これはJsonConvertメソッドを直接使用しています.
using Newtonsoft.Json.Linq;
//              
————————————————————
//         
  
JArray jArray = JArray.Parse(content);
List stuTables = new List();
stuTables = jArray.ToObject>();

この方式はまずJArrayに変換してからList<>汎用集合リストに変換する.
JArrayはLINQと関係があるようで、私はまだLINQに接触したことがなくて、未来これに対して理解します.
 
上記の2つの方法の結果:(ブレークポイント実行で結果を直接表示)
スクリーンショットができないので結果は出せませんが、うまくいけばブレークポイントでjsonデータがコレクションに変換されたことがわかります.
——————————————————————————————————————————
バックグラウンドはクライアントに送信されます.
もし私たちが直接情報を読み取った後、クライアントに移動してJSON情報を閲覧するにはどうすればいいですか?
aspxファイル:
aspxのバックグラウンドで新しいメソッドを作成します.
 public static String Getjson()
{
    String url = "D:/01work/WebAllTest_Ryan/WebAllTest_Ryan/json1.json";
    StreamReader SR = new StreamReader(url);
    String jsonStr = SR.ReadToEnd();
    SR.Dispose();
   //          
    return jsonStr;
}

フロントコード:
//  parse  。。。。。

        var result =  <%=Getjson()%>;//    。。。
        var a1 = typeof arg == 'string' ? JSON.parse(result) : result;
        alert(a1[1].Students.length);
        for (var i = 0; i < a1.length; i++) {
            document.getElementById("theGetJSON").innerHTML += a1[i].Name+"<br>";
            for (var a = 0; a < a1[i].Students.length; a++) {
                document.getElementById("theGetJSON").innerHTML += a1[i].Students[a].Name+"<br>";
            }
        }



//  JS eval()     JSON     JS  。。。

       <%--var result = eval(<%=Getjson()%> );//    。。。
        for (var i = 0; i < result.length; i++) {
            document.getElementById("theGetJSON").innerHTML +="   :"+ result[i].Name+"<br>";
            for (var a = 0; a < result[i].Students.length; a++) {
                document.getElementById("theGetJSON").innerHTML += "{";
                document.getElementById("theGetJSON").innerHTML +="   :"+ result[i].Students[a].Name+"<br>";
                document.getElementById("theGetJSON").innerHTML += "    :"+result[i].Students[a].Gender+"<br>";
                document.getElementById("theGetJSON").innerHTML += "    :" + result[i].Students[a].Age + "<br>";
                document.getElementById("theGetJSON").innerHTML += "<br>";
                 document.getElementById("theGetJSON").innerHTML += "}";
            }
        }--%>

</code></pre> 
  <p> </p> 
  <p>——————————————————————————————————————————</p> 
  <h1><strong>JSON    :</strong></h1> 
  <p>json1.json:</p> 
  <p>    CSDN      </p> 
  <pre class="has"><code> [
    {
      "Name": "teacher0",
      "Students": [
        {
          "Name": "Marco00",
          "Gender": "Man",
          "Age": 18
        },
        {
          "Name": "Marco10",
          "Gender": "Man",
          "Age": 19
        },
        {
          "Name": "Marco20",
          "Gender": "Man",
          "Age": 20
        },
        {
          "Name": "Marco30",
          "Gender": "Man",
          "Age": 21
        },
        {
          "Name": "Marco40",
          "Gender": "Man",
          "Age": 22
        },
        {
          "Name": "Marco50",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco60",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco70",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco80",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco90",
          "Gender": "Man",
          "Age": 27
        }
      ]
    },
    {
      "Name": "teacher1",
      "Students": [
        {
          "Name": "Marco01",
          "Gender": "Man",
          "Age": 19
        },
        {
          "Name": "Marco11",
          "Gender": "Man",
          "Age": 20
        },
        {
          "Name": "Marco21",
          "Gender": "Man",
          "Age": 21
        },
        {
          "Name": "Marco31",
          "Gender": "Man",
          "Age": 22
        },
        {
          "Name": "Marco41",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco51",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco61",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco71",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco81",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco91",
          "Gender": "Man",
          "Age": 28
        }
      ]
    },
    {
      "Name": "teacher2",
      "Students": [
        {
          "Name": "Marco02",
          "Gender": "Man",
          "Age": 20
        },
        {
          "Name": "Marco12",
          "Gender": "Man",
          "Age": 21
        },
        {
          "Name": "Marco22",
          "Gender": "Man",
          "Age": 22
        },
        {
          "Name": "Marco32",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco42",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco52",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco62",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco72",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco82",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco92",
          "Gender": "Man",
          "Age": 29
        }
      ]
    },
    {
      "Name": "teacher3",
      "Students": [
        {
          "Name": "Marco03",
          "Gender": "Man",
          "Age": 21
        },
        {
          "Name": "Marco13",
          "Gender": "Man",
          "Age": 22
        },
        {
          "Name": "Marco23",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco33",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco43",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco53",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco63",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco73",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco83",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco93",
          "Gender": "Man",
          "Age": 30
        }
      ]
    },
    {
      "Name": "teacher4",
      "Students": [
        {
          "Name": "Marco04",
          "Gender": "Man",
          "Age": 22
        },
        {
          "Name": "Marco14",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco24",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco34",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco44",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco54",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco64",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco74",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco84",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco94",
          "Gender": "Man",
          "Age": 31
        }
      ]
    },
    {
      "Name": "teacher5",
      "Students": [
        {
          "Name": "Marco05",
          "Gender": "Man",
          "Age": 23
        },
        {
          "Name": "Marco15",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco25",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco35",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco45",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco55",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco65",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco75",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco85",
          "Gender": "Man",
          "Age": 31
        },
        {
          "Name": "Marco95",
          "Gender": "Man",
          "Age": 32
        }
      ]
    },
    {
      "Name": "teacher6",
      "Students": [
        {
          "Name": "Marco06",
          "Gender": "Man",
          "Age": 24
        },
        {
          "Name": "Marco16",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco26",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco36",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco46",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco56",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco66",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco76",
          "Gender": "Man",
          "Age": 31
        },
        {
          "Name": "Marco86",
          "Gender": "Man",
          "Age": 32
        },
        {
          "Name": "Marco96",
          "Gender": "Man",
          "Age": 33
        }
      ]
    },
    {
      "Name": "teacher7",
      "Students": [
        {
          "Name": "Marco07",
          "Gender": "Man",
          "Age": 25
        },
        {
          "Name": "Marco17",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco27",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco37",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco47",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco57",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco67",
          "Gender": "Man",
          "Age": 31
        },
        {
          "Name": "Marco77",
          "Gender": "Man",
          "Age": 32
        },
        {
          "Name": "Marco87",
          "Gender": "Man",
          "Age": 33
        },
        {
          "Name": "Marco97",
          "Gender": "Man",
          "Age": 34
        }
      ]
    },
    {
      "Name": "teacher8",
      "Students": [
        {
          "Name": "Marco08",
          "Gender": "Man",
          "Age": 26
        },
        {
          "Name": "Marco18",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco28",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco38",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco48",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco58",
          "Gender": "Man",
          "Age": 31
        },
        {
          "Name": "Marco68",
          "Gender": "Man",
          "Age": 32
        },
        {
          "Name": "Marco78",
          "Gender": "Man",
          "Age": 33
        },
        {
          "Name": "Marco88",
          "Gender": "Man",
          "Age": 34
        },
        {
          "Name": "Marco98",
          "Gender": "Man",
          "Age": 35
        }
      ]
    },
    {
      "Name": "teacher9",
      "Students": [
        {
          "Name": "Marco09",
          "Gender": "Man",
          "Age": 27
        },
        {
          "Name": "Marco19",
          "Gender": "Man",
          "Age": 28
        },
        {
          "Name": "Marco29",
          "Gender": "Man",
          "Age": 29
        },
        {
          "Name": "Marco39",
          "Gender": "Man",
          "Age": 30
        },
        {
          "Name": "Marco49",
          "Gender": "Man",
          "Age": 31
        },
        {
          "Name": "Marco59",
          "Gender": "Man",
          "Age": 32
        },
        {
          "Name": "Marco69",
          "Gender": "Man",
          "Age": 33
        },
        {
          "Name": "Marco79",
          "Gender": "Man",
          "Age": 34
        },
        {
          "Name": "Marco89",
          "Gender": "Man",
          "Age": 35
        },
        {
          "Name": "Marco99",
          "Gender": "Man",
          "Age": 36
        }
      ]
    }
  ]

</code></pre> 
  <p> </p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC WAP    -->
                    <div id="SOHUCS" sid="1187286613911248896"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js">
                    
                     
                
興味があるかもしれません
  • mongodb 3.03認証開始
    21jhf
    mongodb
  • 【Spark103】Task not serializable
    bit1129
    Serializable
  • あなたがよく知っているLRU(最近は最低)
    dalan_123
    java
  • Javascriptドメイン間
    周凡楊
    JavaScript jsonp ドメイン間 cross-domain
  • linuxでapacheサーバをインストール
    g21121
    apache
  • FineReportのJS編集ボックスとURLアドレスバー構文の概要
    Aさんは振り回さない
    finereport Webレポート レポートソフト 文法のまとめ
  • STATUS情報によるMySQLの最適化
    塀の上に草が1本ある
    status
  • 私のspring学習ノート7-SpringのBeanプロファイルはBeanに別名を定義します
    aijuans
    Spring 3
  • アルファベットで分類:
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
    トップページ -
    私たちについて -
    構内検索 -
    Sitemap -
    権利侵害苦情
    著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com,All Rights Reserved.
    京ICP備09083238号

    <script type=「text/javascript」src=「/static/syntaxhighlighter/scripts/shLegacy.js」/』&腭13;
    <script type=「text/javascript」src=「/static/syntaxhighlighter/scripts/shAutoloader.js」/」&腭13;
    <link type=「text/css」rel=「styreesheet」href=「/static/syntaxhighlighter/stylies/shCoreDefault.css」/>&腫13;
    <script type=「text/javascript」src=「/static/syntaxhighlighter/src/mymystart_1.js」/』&腭13;