【c#/JSON】所与のJSONデータをセットに変換し、フロントに表示する
練習は以下の通りです.手にJSONデータがあります.私はそれを集合に変換し、フロントに送って閲覧する必要があります.
——————————————————————————————————————————————
前提:
まずプロジェクトにJSONファイルを作成し、具体的なjsonデータをブログの最後に置きます.
c#を使用しているので、使用前に対応するdll:Newtonsoft.Json、公式サイトアドレスを参照する必要があります.NuGetで直接PMダウンロードすることもできます.
PM> Install-Package Newtonsoft.Json
成功すると、対応するdllライブラリを参照できます.
——————————————————————————————————————————
JSONを汎用集合にする:
バックグラウンドで直接汎用コレクションリストに変換する--List:
JSONをリストに変換するので、JSONのオブジェクトを表す対応するクラスを自然に作成します.
簡単な方法は、JSONデータをコピーして「編集」-」「選択的に貼り付ける」-」「JSONをクラスに貼り付ける」(xmlをクラスに貼り付ける方法も同様). このように生成されたクラスに注意してください.最外層はRootobjectで、必ずしも使用する必要はありません.削除する必要があります.
以下のjsonデータ(文末)をこのようなクラスとして定義した.
なお、JSONデータは「配列--オブジェクト--キー値対/キー値(配列オブジェクト)対」の形式であるため、定義したオブジェクトクラスには奥層の汎用集合リスト(または配列オブジェクト)が必要である.public classのデフォルトクラス内の権限はprivateであるため、publicへのアクセス権も与えられることに注意してください.
C++でclassで定義されたクラスでは、メンバーのデフォルトアクセス権はprivateです.C++でstructで定義された構造体では、そのメンバーのデフォルトアクセス権限はpublicです.またstructで定義された構造体は値タイプであり,効果はクラスと類似している.管理スタックの負担を軽減し、小さなオブジェクトに適用します.
クラスが作成されたら、それを読み取ります.
jsonはローカルファイルなので、空のオブジェクトへのアクセスを防止しながらローカルでアクセスする必要があります.例外処理を追加する必要があります.
このとき、JOSNファイルを読み出し、文字列としてcontentに格納し、読み出し後すぐにTextReaderのリソースを解放します.
今読み込んで、クラスもあって、引用したNewtonsoft.Jsonライブラリもあって、自然に変換しなければなりません.
2つの変換方法:
これはJsonConvertメソッドを直接使用しています.
この方式はまずJArrayに変換してからList<>汎用集合リストに変換する.
JArrayはLINQと関係があるようで、私はまだLINQに接触したことがなくて、未来これに対して理解します.
上記の2つの方法の結果:(ブレークポイント実行で結果を直接表示)
スクリーンショットができないので結果は出せませんが、うまくいけばブレークポイントでjsonデータがコレクションに変換されたことがわかります.
——————————————————————————————————————————
バックグラウンドはクライアントに送信されます.
もし私たちが直接情報を読み取った後、クライアントに移動してJSON情報を閲覧するにはどうすればいいですか?
aspxファイル:
aspxのバックグラウンドで新しいメソッドを作成します.
フロントコード: 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;
——————————————————————————————————————————————
前提:
まずプロジェクトに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">
興味があるかもしれません21jhf
mongodb
bit1129
Serializable
dalan_123
java
周凡楊
JavaScript jsonp ドメイン間 cross-domain
g21121
apache
Aさんは振り回さない
finereport Webレポート レポートソフト 文法のまとめ
塀の上に草が1本ある
status
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;