短い問題で私の問題:2つの大きなJSON文字列を1つのクラスに逆シリアル化する必要があります。ここでは最初のものである:2つの少し異なるJSON文字列(同じ構造体、異なる名前)を同じクラスに逆シリアル化します。
{
"persons": [
{
"age":30,
"name":"david",
"hobbies": [
{
"name":"tennis",
"hours":5
},
{
"name":"football",
"hours":10
}
]
},
{
"name":"adam",
"age":23,
"hobbies":[]
}
]
}
と他の1:
{
"person": [
{
"age":25,
"name":"dave",
"hobbies":[
{
"name":"Basketball",
"hours":5
},
{
"name":"football",
"hours":10
}
]
},
{
"name":"Steve",
"age":28,
"hobbies": []
}
]
}
あなたが一度は、それが「人」、そしてそれは「人」だ他の時間だことがわかります。これに簡単な解決策はありますか?私はクラスで2つのリストを作成することを考えていました
List<Person> person;
List<Person> persons;
そして、逆シリアル化した後、何とか手作業で結合します。しかし、単純な方法が必要です。
ところで、これはデシリアライズするのに必要な正確なコードではありません。私はちょうど主なアイデアを可能な限りシンプルに保つことを望んでいた
おかげで多くのことを、。私の現在の知識で、私はこの答えを得るために年を取っていたでしょう。 ところで、私はリストを結合するためにJsonConver.PopulateObjectを使用しようとしています。例えば、ジェイソンは、第1リストの趣味としてバスケットボールを挙げ、第2リストの彼の趣味と同じJason footballをリストアップしているかもしれません。だから私はジェイソンは、両方の趣味を1つのリストに記載してもらいたいが、何らかの理由でPopulateObject doesnt work ..何かアイデアかもしれない?それがうまくいかなければならないのでしょうか? – Jonas
@Jonas - 私はあなたのコメントに答えるために私の答えを更新しました。要するに、PopulateObjectはあなたが望むようにオブジェクトをマージすることはできません。このマージを行うためにカスタムロジックを記述する必要があります。 –