C# オブジェクトを使用して次の JSON を生成する必要があります。
現在、HttpResponseMessage (Web API) を使用しているため、オブジェクトから追加の変換を行うために JSON.NET は必要ありません。
returnVal = Request.CreateResponse(HttpStatusCode.OK, new Model.Custom.JsonResponse
{
data = root,
success = true
});
これは、生成する必要がある JSON です。
'data': [{
'some var 1': 'value A',
'some var 2': 'value B',
'some var 3': 'value C'
}, {
'some var 1': 'value A',
'some var 2': 'value B',
'some var 3': 'value C'
}, {
'some var 1': 'value A',
'some var 2': 'value B',
'some var 3': 'value C'
}]
どこ'some var'
が動的です。
今私は使用しようとしてList<Dictionary<string,object>>();
いましたが、問題は、このアプローチではこれしか生成できないことです:
'data': [{
'some var 1': 'value A'
}, {
'some var 1': 'value A'
}, {
'some var 1': 'value A'
}]
私の実際のクラスは次のようになります。
public class RootObject {
public bool success {
get;
set;
}
public List < Dictionary < string, object >> jsonData {
get;
set;
}
}
var root = new RootObject();
root.jsonData = new List < Dictionary < string, object >> ();
// create new record
var newRecord = new Dictionary < string,object > ();
newRecord.Add("1", "H"); // 1 = some var 1, H = value A
// add record to collection
root.jsonData.Add(newRecord);
// create new record
newRecord = new Dictionary < string, object > ();
newRecord.Add("5", "L");
// add record to collection
root.jsonData.Add(newRecord);
したがって、これは次のように出力されます。
'data': [{
'1': 'H'
}, {
'5': 'L'
}]
どんな手掛かり?ありがとう