0
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

不工作。但为什么?!!!

4

2 回答 2

2

代替:

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

和:

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

(它应该是一个object,而不是一个string

然后尝试:

dataToSend.name

PS:

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

字符串 > json:

var obj = JSON.parse(str);

json > 字符串:

var str = JSON.stringify(obj);

希望有帮助。

于 2013-10-22T11:04:43.480 回答
1

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

你可以试试

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

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

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

var dataToSend = JSON.parse('@Html.Raw(Json.Encode(Model.PageInput))');
于 2013-10-22T11:05:10.673 回答