public class Rootobject
{
public EnPickthall enpickthall { get; set; }
}
public class EnPickthall
{
public _1 _1 { get; set; }
public _2 _2 { get; set; }
public _3 _3 { get; set; }
public _4 _4 { get; set; }
/* This goes on*/
public _6236 _6236 { get; set;}
}
//For Each of the above properties a separate class has been defined:
public class _1
{
public int id { get; set; }
public int surah { get; set; }
public int ayah { get; set; }
public string verse { get; set; }
}
public class _2
{
public int id { get; set; }
public int surah { get; set; }
public int ayah { get; set; }
public string verse { get; set; }
}
/* So On for all the properties */
JSON2CSHARPでこれを取得しました。 私は彼らの「Surah」に基づいて、すべての詩を取得するので、多くのプロパティを使用している場合私の問題がある。ここC#を使用して複合JSONを逆シリアル化する
私はすべての詩のために別々のクラスを持っているEnPickthallクラスの本を持っている非常に難しい&非現実的です。ここにあるすべての詩はそれ自身の授業を持っています。
私は何時間もStack Overflowを掃除しています。このJSONクラスを単純化する方法はありますか?
オブジェクトモデルを作成するマイコード:
var serializer = new DataContractJsonSerializer(typeof(RootObject_Quran));
var result= App_Code.FileIOHelper.ReadFromDefaultFile("ms-appx:///Assets/en.pickthall.json");
var ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
var data = (RootObject_Quran)serializer.ReadObject(ms);
私のJSONファイルのリンク:
を簡素化する方法はたくさんありますが、まさにあなたが達成しようとしていますか?あなたのコードを少し説明できますか?プロパティは何ですか:public _1 _1 {get;セット; } ために ?彼らは自分のクラスで属性にする必要がありますか?リストのタイプで十分ではないでしょうか?辞書、ハッシュテーブル、または普通のリスト? –
Nobody
@Nobody実際、これは私のHDDのJSON形式で保存された宗教的な本です.JSON2Csharpを使って直接Classes for itを生成し、各詩はクラスEnPickthallの別のプロパティとして格納されます。そして、すべての詩はそれ自身のid、Surah(章)、Aya(詩数)&Verse(詩の内容)を持っています –
なぜpublic class EnPickthall {公開リスト詩{get;セット; } 'と' publicクラスVerse {public int id {get;セット; } ...} '? –
Bardicer