繁体   English   中英

如何使json格式有效?

[英]How to make json format valid?

我在C#代码后面生成了一个包含json的字符串,然后将其发送到前端以在Javascript中使用。 我想在$.getJSON("<%=myJson%>")类的函数中使用该json,但出现一些错误

我已经尝试直接使用字符串,因为json是javascript代码,但是它不起作用。 控制台显示

“参数列表后未捕获的SyntaxError:缺少”

然后,我尝试了JSON.parse(myJson)但是它也不起作用。 控制台显示

“未捕获的SyntaxError:意外的标识符”

这就是我的Json字符串在代码背后的样子:

"\"iss\":\"123123123\",\"exp\":123123,\"jti\":\"asdasdasdasd\",\"sub\":\"asdasdasdasd\",\"grants\":{\"identity\":\"John\",\"voice\":{\"incoming\":{\"allow\":true},\"outgoing\":{\"application_sid\":\"asdasdasdasd\"}}}}"

然后,当我将其发送到前端的Javascript中时:

$.getJSON("
"iss":"123123123","exp":123123,"jti":"asdasdasdasd","sub":"asdasdasdasd","grants":{"identity":"John","voice":{"incoming":{"allow":true},"outgoing":{"application_sid":"asdasdasdasd"}}}}")

更新我修复了代码背后的json语法:

"{\"iss\":\"123123123\",\"exp\":123123,\"jti\":\"asdasdasdasd\",\"sub\":\"asdasdasdasd\",\"grants\":{\"identity\":\"John\",\"voice\":{\"incoming\":{\"allow\":true},\"outgoing\":{\"application_sid\":\"asdasdasdasd\"}}}}"

现在我在javascript中遇到此错误:

$ .getJSON('{“ iss”:“ 123123123”,“ exp”:123123,“ jti”:“ asdasdasdasd”,“ sub”:“ asdasdasdasd”,“ grants”:{“ identity”:“ John”,“语音”:{“传入”:{“允许”:true},“传出”:{“ application_sid”:“ asdasdasdasd”}}}}'))

GET http:// localhost :.... 400(错误请求)

我认为这是因为此函数希望访问URL,但是如何使它读取json字符串呢?

由于JSON对嵌入的字符串使用双引号,因此在JavaScript代码中的JSON周围使用单引号。

$.getJSON('<%= myJson %>');

您还需要首先修复创建myJson的代码,以便将其正确格式化为JSON。 请参阅如何在C#中创建JSON字符串

您的json错误,开始时缺少{ 以下功能应该起作用:

JSON.parse(`{"iss":"123123123","exp":123123,"jti":"asdasdasdasd","sub":"asdasdasdasd","grants":{"identity":"John","voice":{"incoming":{"allow":true},"outgoing":{"application_sid":"asdasdasdasd"}}}}`)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM