私はJSONを初めて使っています。私のasp.netアプリケーションでは、jsonの文字列を解析したいと思います.Jsonのデータを読み書きするためにNewtonsoft.Jsonパッケージを使用しました。今、単純なJSONデータを解析できます。しかし、今私は構文解析のためにいくつかの複雑なjsonデータを受け取りました。私は少しそれを打ちました。Newtonsoft.Jsonパッケージを使用してC#(4.0)でjson文字列を解析するには?
これはJSONデータである:
{
quizlist: [
{
QUIZ: {
'QPROP': [
{
'name': 'FB',
'intro': '',
'timeopen': '1347871440',
'timeclose': '1355733840',
'timelimit': '0',
'noofques': '5',
'QUESTION': {
'QUEPROP': [
{
'questiontext': 'Scienceisbasedont',
'penalty': '0.3333333',
'qtype': 'shortanswer',
'answer': 'cause-and-effect',
'mark' : '5',
'hint': ''
},
{
'questiontext': 'otherscientistsevaluateit',
'penalty': '0.3333333',
'qtype': 'shortanswer',
'answer': 'Peerreview',
'mark' : '5',
'hint': ''
},
{
'questiontext': 'Watchingavariety',
'penalty': '0.3333333',
'qtype': 'shortanswer',
'answer': 'inductive',
'mark' : '5',
'hint': ''
},
{
'questiontext': 'coveriesorideas',
'penalty': '0.3333333',
'qtype': 'shortanswer',
'answer': 'paradigmshift',
'mark' : '5',
'hint': ''
},
{
'questiontext': 'proportions',
'penalty': '0.3333333',
'qtype': 'shortanswer',
'answer': 'fixed',
'mark' : '5',
'hint': ''
}
]
}
}
]
}
}
]
}
これは私のC#のコードです:
dynamic dynObj = JsonConvert.DeserializeObject(jsonString);
foreach (var data in dynObj.quizlist)
{
foreach (var data1 in data.QUIZ.QPROP)
{
Response.Write("Name" + ":" + data1.name + "<br>");
Response.Write("Intro" + ":" + data1.intro + "<br>");
Response.Write("Timeopen" + ":" + data1.timeopen + "<br>");
Response.Write("Timeclose" + ":" + data1.timeclose + "<br>");
Response.Write("Timelimit" + ":" + data1.timelimit + "<br>");
Response.Write("Noofques" + ":" + data1.noofques + "<br>");
}
}
私はnoofquesがQPROP配列内のオブジェクトまで解析できることができます解析する必要がobjects.Now data.QUIZ.QPROP.QUESTION.QUEPROP配列オブジェクト...
しかし、私は完全に解析できませんでした。 ..
この問題から抜け出すために私を導いてください...
:私は私のDB.for例に、その情報を格納したい私のapplication.Iでそれを使うのですfiles.Howいくつかの.csファイルを作成しThanks.Itは、私のJSON文字列は、私はそれを保存したい、その後の配列が含まれていますC#の配列をコピーしてからデータベースにコピーしてください... – Saravanan
OK、プロジェクトにそのcsファイルを追加して名前空間を修正してください。次に、未処理のjson文字列を取得するときに、SampleResponse1を呼び出すことによってオブジェクトに変換できます。obj = ParseJsonObject(jsonStr);注意! SamplemResponse1は、別の名前を設定せずにGenerateをクリックした場合、そのツールによって生成されるルートクラスです。おそらくあなたはそれを –
Vlad
に変更したいでしょう:それでは、jsonの文字列から解析されたすべての詳細をC#データ構造体に保存するには... – Saravanan