我是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格式。如何管理数据类型? 谢谢
答案 0 :(得分:1)
请参阅:How to XML Serialize a 'Type'
XML不会序列化类型信息,因此您可能需要将XML反序列化为对象并将其序列化为JSON。
答案 1 :(得分: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);