2018.4.20
2020.1.7

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)
}

参考リンク

ASP.NET Core】関連記事