次のクラスでは
using System;
namespace Beverati.Repository.ViewModel
{
[Serializable]
public class CollectionItem : EditableEntityBase
{
public CollectionItem() {}
private int? _quantity;
private string _retailValue;
private string _currencyName;
public int? quantity
{
get { return this._quantity ?? NULL_INTEGER; }
set { this._quantity = value; }
}
public string retailValue
{
get { return this._retailValue ?? String.Empty; }
set { this._retailValue = value; }
}
public string currencyName
{
get { return this._currencyName ?? String.Empty; }
set { this._currencyName = value; }
}
}
}
このコントローラ アクションで返される
public IEnumerable<Repository.ViewModel.CollectionItem> GetAll()
この JSON 出力を MVC2 で生成し、このような JSON 出力を生成します
{
quantity:2
retailValue: 50.00
currencyName: USD
}
ただし、MVC4 をインストールすると、返される JSON は次のようになります
{
_quantity:2
_retailValue: 50.00
_currencyName: USD
}
すべてのプロパティ名にはアンダースコア プレフィックスが付きます。アンダースコアが使用されているのはなぜですか? JSON でパブリック プロパティ名を返すにはどうすればよいですか?