序列化列表JSON [英] Serializing a list to JSON
问题描述
我有一个看起来像这样一个对象模型:
公共MyObjectInJson
{
众长的ObjectID {获取;设置;}
公共字符串ObjectInJson {获取;集;}
}
属性 ObjectInJson
是一个已经序列化版本,包含嵌套表的对象。就目前而言,我序列化的列表 MyObjectInJson
手工是这样的:
的StringBuilder TheListBuilder =新的StringBuilder();TheListBuilder.Append([);
INT TheCounter = 0;的foreach(MyObjectInJson TheObject中的thelist)
{
TheCounter ++;
TheListBuilder.Append(TheObject.ObjectInJson); 如果(TheCounter!= TheList.Count())
{
TheListBuilder.Append(,);
}
}
TheListBuilder.Append(]);返回TheListBuilder.ToString();
我不知道是否可以代替这种危险的code与的JavaScriptSerializer
,并得到了相同的结果。
我会怎么做呢?
感谢。
//需要引用System.Web.Extensions程序使用System.Web.Script.Serialization;VAR jsonSerialiser =新的JavaScriptSerializer();
VAR JSON = jsonSerialiser.Serialize(ALIST);
请注意:
时代变了,我会默认使用JSON.Net作为我的第一选择JSON解析器。如果它的WebAPI的正确选择,它对于我来说是正确的选择。
例如
使用Newtonsoft.Json;VAR JSON = JsonConvert.SerializeObject(ALIST);
您可能需要先安装软件包。
PM>安装封装Newtonsoft.Json
有关详细信息,看到并给予好评就是这一信息源的答案。
I have an object model that looks like this:
public MyObjectInJson
{
public long ObjectID {get;set;}
public string ObjectInJson {get;set;}
}
The property ObjectInJson
is an already serialized version an object that contains nested lists. For the moment, I'm serializing the list of MyObjectInJson
manually like this:
StringBuilder TheListBuilder = new StringBuilder();
TheListBuilder.Append("[");
int TheCounter = 0;
foreach (MyObjectInJson TheObject in TheList)
{
TheCounter++;
TheListBuilder.Append(TheObject.ObjectInJson);
if (TheCounter != TheList.Count())
{
TheListBuilder.Append(",");
}
}
TheListBuilder.Append("]");
return TheListBuilder.ToString();
I wonder if I can replace this sort of dangerous code with JavascriptSerializer
and get the same results.
How would I do this?
Thanks.
// you need to reference System.Web.Extensions
using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);
Please Note:
Times have changed, I would default to using JSON.Net as my first choice JSON Parser. If its the right choice for WebAPI, its the right choice for me.
e.g.
using Newtonsoft.Json;
var json = JsonConvert.SerializeObject(aList);
you may need to install the package first.
PM> Install-Package Newtonsoft.Json
For more details see and upvote the answer that is the source of this information.
这篇关于序列化列表JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!