【发布时间】:2017-06-07 18:50:58
【问题描述】:
对于 Web 服务,我需要根据存储过程提供的数据创建动态 JSON 数组作为响应发送。
var t = new Dictionary<string, dynamic>();
for (int i = 0; i < reader.FieldCount; i++)
{
columnName = reader.GetName(i);
fieldValue = reader.GetValue(i).ToString();
t[columnName] = fieldValue;
}
_response.data.Add(t);
但收到的响应是数据:[[{“key”:“name”,“value”:“123”},{“date”:“01-Jun-2017”}],[{“key” : "名称", "值": "abc"}]]
而需要的响应是:[{ "name": "abc", "date": "01-Jun-2017"},{ "name": "123"}]
谁能告诉我可能是什么问题?
提前致谢。
【问题讨论】:
-
您需要显示将您的
Dictionary转换为JSON的代码,并且很高兴看到您如何阅读多条记录 -
首先,您无需将字典标记为
<string, dynamic>,因为无论如何您都在将值转换为字符串。其次,正如@Vikhram 所说 - 这取决于您使用的 JSON 序列化程序。例如,Newtonsoft 专门为此提供了一个名为JObject的类。 -
你能检查一下这个stackoverflow.com/questions/5597349/… convert dictionary into json..
-
我认为使用字典是个坏主意。如果响应中可能有具有相同列名的数据,那么就会因为重复而引发问题。我建议你使用列表