[英]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.