序列化列表JSON [英] Serializing a list to JSON

查看:128
本文介绍了序列化列表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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆