0

我是 json 新手,在尝试使用特定数据类型序列化我的对象时遇到了一些问题。

我正在尝试将我的 XElement 对象序列化为 Newtonsoft json。这是我的代码:

var nodes = new XElement("nodes");
nodes.Add(new XElement("name", "Anna"));
nodes.Add(new XElement("group", 0));

context.Response.Write(JsonConvert.SerializeXNode(nodes, Formatting.Indented, true));

回应是:

{
 "nodes": [
  {
    "name": "Anna",
    "group": "0"
  }
]}

我需要将 Xelement GROUP 转换为整数(“group”:0),但它始终采用 strnig 格式。如何管理数据类型?谢谢

4

2 回答 2

1

请参阅:如何 XML 序列化“类型”

XML 不会序列化类型信息,因此您可能需要将 XML 反序列化为对象并将其序列化为 JSON。

于 2012-08-30T13:48:39.267 回答
1

如果不是必须从 XElement 序列化,您可以使用ExpandoObject

dynamic obj = new ExpandoObject();
obj.nodes = new object[] { new { name = "Anna", group = 0 } };

var jstr = JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented);
于 2012-08-30T13:57:57.470 回答