[解決済み] JSON.netでJTokenの名前とキーを取得する
2023-02-21 04:52:38
質問
次のようなJSONがあります。
[
{
"MobileSiteContent": {
"Culture": "en_au",
"Key": [
"NameOfKey1"
]
}
},
{
"PageContent": {
"Culture": "en_au",
"Page": [
"about-us/"
]
}
}
]
これをJArrayとしてパースしています。
var array = JArray.Parse(json);
そして、配列の上をループしています。
foreach (var content in array)
{
}
content
は
JToken
各項目の "name" または "key" を取得するにはどうすればよいですか?
例えば、"MobileSiteContent"や"PageContent"などです。
どのように解決するのですか?
JToken
の基底クラスです。
JObject
,
JArray
,
JProperty
,
JValue
など。 このような場合は
Children<T>()
メソッドを使用すると、特定の型の JToken の子プロセスをフィルタリングしたリストを取得することができます。
JObject
. それぞれの
JObject
のコレクションを持っています。
JProperty
オブジェクトのコレクションを持ち、それらは
Properties()
メソッドでアクセスできます。 それぞれの
JProperty
を取得すると、その
Name
. (もちろん
Value
を取得することもできます。
JToken
.)
すべてをまとめると
JArray array = JArray.Parse(json);
foreach (JObject content in array.Children<JObject>())
{
foreach (JProperty prop in content.Properties())
{
Console.WriteLine(prop.Name);
}
}
出力します。
MobileSiteContent
PageContent
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Json.netでシリアライズする際、プロパティ名を変更するにはどうすればよいですか?
-
[解決済み] .NETでは、'for'と'foreach'のどちらのループが速く実行されますか?
-
[解決済み】C#でJSONをパースする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件