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
不起作用。但为什么?!!!
答案 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))');