将对象序列化为JSON

时间:2015-04-14 19:27:10

标签: c#

我有一个C#应用程序,它有一个对象,看起来像这样:

public class MyObject
{
  public int Id { get; set; }
  public int ParentId { get; set; }
  public string Name { get; set; }
  ...
}

然后我得到一个像这样的对象列表:

var myObjects = MyObject.LoadAll();

我需要创建一个如下所示的JSON对象:

{ "1":"James", "2":"Bill", "3":"Andrew" }

1,2和3是MyObject实体列表的Id值。 “James”,“Bill”和“Andrew”是每个对象的“Name”属性的值。如何仅使用这两个属性以这种方式创建JSON对象?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用linq和Json.Net库。

var myObjects = MyObject.LoadAll();
var forSerialization = myObjects.ToDictionary(x => x.Id, x => x.Name);
var json = JsonConvert.SerializeObject(forSerialization);