在javascript中将C#数组转换为json

时间:2014-07-15 06:08:13

标签: javascript c# asp.net-mvc json

我在MVC视图中将我的C#数组转换为json,如下所示

var selectedPatientGroups = JSON.parse('[@(Model.SelectedPatientDiscountGroups != null
                                                      ? string.Join(",", Model.SelectedPatientDiscountGroups)
                                                      : string.Empty)]')

如果Model.SelectedPatientDiscountGroups = string [] {" abc"," cd"然后我将转换为json对象为

var selectedPatientGroups = [abc,cd]

但作为json对象,我期待[" abc"," cd"]

我需要最好的解决方案。

2 个答案:

答案 0 :(得分:1)

不要重新发明轮子!使用JSON库,如Json.NET或内置的JavaScriptSerializer。它比引号复杂得多。

但如果你坚持

JSON.parse('[@(Model.SelectedPatientDiscountGroups != null
               ? string.Join(",", Model.SelectedPatientDiscountGroups.Select(g => "\"" + g + "\"").ToArray()
               : string.Empty)]')

答案 1 :(得分:1)

为什么不使用内置的JSON序列化程序?

var selectedPatientGroups = @Html.Raw(Json.Encode(Model.SelectedPatientDiscountGroups));