【问题标题】:XElement DataType to Newtonsoft.jsonXElement DataType 到 Newtonsoft.json
【发布时间】:2012-08-30 13:35:36
【问题描述】:

我是 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 格式。如何管理数据类型? 谢谢

【问题讨论】:

    标签: c# json linq-to-xml json.net


    【解决方案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);
    

    【讨论】:

      【解决方案2】:

      见:How to XML Serialize a 'Type'

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

      【讨论】:

        猜你喜欢
        • 2011-12-16
        • 2012-11-07
        • 2019-03-27
        • 1970-01-01
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 2019-09-20
        相关资源
        最近更新 更多