1

我有以下代码

class MyJSONSerializableClass
{        
    [JsonProperty("index")]
    public int Index { get; set; };

    [JsonIgnore]
    public long Id { get; set; };
}

var collection = new List<MyJSONSerializableClass>()
{
    new MyJSONSerializableClass() 
    {
        Index = 10,
        Id = 1000
    }
};

string jsonOutput = JsonConvert.SerializeObject(collection);

jsonOutput 将是

[{ index: 10 }]

我希望 jsonOutput 是

[ 10 ]

是否有任何类属性可以应用于 MyJSONSerializableClass 来告诉 JSON.NET 只发出属性索引,而不是整个对象?

类似的东西

[JsonOutput(f => f.Index)]
class MyJSONSerializableClass
{
   ...
}

谢谢

4

1 回答 1

1

不确定属性,但或者,您可以尝试

JsonConvert.SerializeObject(collection.Select(o => o.Index)).

根据文档,所有 IEnumerable 都将是数组。

于 2012-09-18T21:28:26.583 回答