如何使用jquery和mvc Model修改或显示JSON对象

时间:2013-10-22 11:01:37

标签: jquery json asp.net-mvc-4

var dataToSend = '@Html.Raw(Json.Encode(Model.PageInput))';

我的dataToSend包含以下数据:

"{"id":"1","name":"stackoverflow","count":25}"

如何访问数据?

我尝试了以下内容:

alert(dataToSend.id)

alert(dataToSend[0].id)

alert(dataToSend[1].id)

所有输出undefined

不起作用。但为什么?!!!

2 个答案:

答案 0 :(得分:2)

取代:

var dataToSend = '@Html.Raw(Json.Encode(Model.PageInput))';

使用:

var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));

(应该是object,而不是string

然后尝试:

dataToSend.name

P.S:

您还可以使用javascript将字符串解析为json。

string> JSON:

var obj = JSON.parse(str);

json>字符串:

var str = JSON.stringify(obj);
希望有所帮助。

答案 1 :(得分:1)

你的dataToSend是一个字符串,因此它不可用,

你可以尝试

var dataToSend = @Html.Raw(Json.Encode(Model.PageInput));

因为结果将在到达客户端之前呈现为JSON。

或者您可以使用JSON库并执行

var dataToSend = JSON.parse('@Html.Raw(Json.Encode(Model.PageInput))');