我是json的新手,在尝试用特定的数据类型序列化我的对象时遇到了一些问题。
我正在尝试将我的XElement对象序列化为Newtonsoftjson。这是我的代码:
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格式。如何管理数据类型?感谢
如果不是必须从XElement进行序列化,则可以使用ExpandoObject
dynamic obj = new ExpandoObject();
obj.nodes = new object[] { new { name = "Anna", group = 0 } };
var jstr = JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented);
请参阅:如何对';键入';
XML不序列化类型信息,因此您可能需要将XML反序列化为对象,并将其序列化为JSON。