RazorでJSONの値にbooleanを設定する
ASP.NET CoreのMVCでページにJSONデータの値にbooleanを埋め込みたいことがあり、その時に数値や文字列はそのままでもいけるけどbooleanの値はそのまま埋め込んで問題ないんだっけ?と思ったのが事の発端でした。結論から言うとそのままではダメでしたが、ちゃんと変換してあげれば問題ありませんでした。
コード
10件を超えて表示したいアイテムがあった場合、「Json.Serialize()」を使って以下のように記述します。
var state = {
"hasMoreItem": @Json.Serialize(Model.ItemCount > 10)
}
ちょっと古いやつ(MVC5?)は「JSON.Encode()」を使います。
var state = {
"hasMoreItem": @Json.Encode(Model.ItemCount > 10)
}