我需要通过循环列来动态创建一个Json对象。因此,声明一个空的JSON对象,然后动态地向其添加元素。
例如:
List<String> columns = new List<String>{"FirstName","LastName"};
var jsonObj = new {};
for(Int32 i=0;i<columns.Count();i++)
jsonObj[col[i]]="Json" + i;
最后的json对象应该是这样的:
jsonObj={FirstName="Json0", LastName="Json1"};
4条答案
按热度按时间fd3cxomn1#
ttygqcqt2#
我发现了一个非常类似于DPeden的解决方案,虽然不需要使用IDictionary,但可以直接从
ExpandoObject
传递到JSON转换:并且输出变为:
ru9i0ody3#
你应该使用
JavaScriptSerializer
。它可以将实际类型序列化为JSON:)参考:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
输出:
cedebl8k4#
使用
dynamic
和JObject
:另一种分配属性的方法:
或者使用
JObject.FromObject
:它们都产生这样的结果:
https://www.newtonsoft.com/json/help/html/CreateJsonDynamic.htm