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

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 に答える
1

参照: 「タイプ」を XML シリアル化する方法

XML は型情報をシリアル化しないため、XML をオブジェクトに逆シリアル化し、それを JSON にシリアル化する必要がある場合があります。

于 2012-08-30T13:48:39.267 に答える