簡體   English   中英

ASP.NET MVC 3序列化為JSON

[英]ASP.NET MVC 3 Serializing to JSON

我有一個像這樣的POCO的ICollection<T>

public class SearchJsonModel
{
   public string label { get; set; }
   public string category { get; }
}

在我的Razor視圖中,我將其序列化如下:

<script type="text/javascript">
   var jsonArray = @Html.Raw(Json.Encode(Model));
</script>

但輸出是這樣的:

var jsonArray = [
   {"category":"Names","label":"Joe"},
   {"category":"Names","label":"John"}
];

由於屬性周圍的引號導致問題。

我需要訪問每個JSON對象的屬性,所以我希望它是這樣的:

var jsonArray = [
   {category:"Names",label:"Joe"},
   {category:"Names",label:"John"}
];

這樣我可以做這樣的事情:

$.each(jsonArray, function(index, item) {
   var x = item.category;
});

我究竟做錯了什么? 我使用錯誤的方法編碼?

此JSON有效(在JSONLINT中檢查)。 引號應該在那里。

你可以毫無問題地獲得這樣的類別值

$(function(){
   var data=[
   {"category":"Names","label":"Joe"},
   {"category":"Names","label":"John"}
];

    $.each(data,function(index,item){
          alert(item.category);
    });        

});​

示例http://jsfiddle.net/DKnBh/

這是標准的JSON,不應該導致問題。

有關詳細信息,請參閱此處: 在JSON中,為什么引用每個名稱?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM