gpt4 book ai didi

jquery - 使用 jquery 解析带双引号的 json 响应(JavaScriptSerializer)

转载 作者:行者123 更新时间:2023-12-01 05:06:41 25 4
gpt4 key购买 nike

我在我的 aspx(asp.net MVC ViewPage) 中使用以下代码来获取序列化输出:

var _accountNames = '<%= ViewData["AccountNames"] != null ? new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ViewData["AccountNames"]) : null%>';

这给出了以下结果:

[{"Name":"My Saving","AccountBalance":-4.2500,"ReferenceId":2},
{"Name":"My Checking","AccountBalance":0.0000,"ReferenceId":3},
{"Name":"Undeposited Funds","AccountBalance":113.6600,"ReferenceId":2},
{"Name":"Star Account "Trust"","AccountBalance":0.0000,"ReferenceId":50}]

在上面的结果中,帐户(明星帐户“Trust”)中有双引号。使用 eval 时,它会给出 "missing } after property list" 错误。即使使用 JSON 解析也会出错。

我使用此结果将下拉选项绑定(bind)为:

 var k = JSON.parse(_accountNames.replace(/'/g, '"'));
if (k != null && k.length > 0) {
var options = '';
options += '<option value="">' + "--Select Account--" + '</option>';
for (var i = 0; i < k.length; i++) {
options += '<option value="' + k[i].AccountNameType + '">' + k[i].Name + ' $(' + k[i].AccountBalance + ')' + '</option>';
}
}
$("select#DepositToddl").html(options);

如何解析结果中包含双引号?请提出建议。

最佳答案

使用HttpUtility.JavaScriptStringEncode

您的服务器标记将变为:

var _accountNames = '<%= ViewData["AccountNames"] != null ? HttpUtility.JavaScriptStringEncode(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ViewData["AccountNames"])) : null%>';

关于jquery - 使用 jquery 解析带双引号的 json 响应(JavaScriptSerializer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com