为了账号安全,请及时绑定邮箱和手机立即绑定

将 json 文件从 GO 服务器提供给 javascript 客户端

将 json 文件从 GO 服务器提供给 javascript 客户端

Go
四季花海 2021-10-04 17:39:40
我有一个 go 服务器,它必须通过提供 json 文件来响应 javascript 请求。json 文件是一个对象数组。我的代码:服务器端package exptimport (    "net/http")func init() {    http.HandleFunc("/", handleStatic)    http.HandleFunc("/loadTrials", handleloadJson)}func handleStatic(w http.ResponseWriter, r *http.Request) {    w.Header().Set("Cache-Control", "no-cache")    http.ServeFile(w, r, "static/"+r.URL.Path)}func handleloadJson(w http.ResponseWriter, r *http.Request) {    http.ServeFile(w, r, "static/trial.json")}客户端loadTrials : function loadTrials() {            var _this = this,                load = this.shadowRoot.querySelector('#load-trial');            load.url="http://url:8080/loadTrials";            load.go()            load.addEventListener('core-response', function(ev) {                console.log(ev.detail.response)            }, false);        }杰森{  "trial-data" : [    {      "trial" : {        "index": 0,      }    },    {      "trial" : {        "index": 1,      }    }  ]}如果我这样做,我会在 JavaScript 中获取 JSON 对象,但是如果我尝试查看 JSON 以获取数组 - 即 console.log(ev.detail.response['trial-data']) 那么这不起作用.
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

ev.detail.response 只是一个字符串响应,它不是一个解析的 json 对象。


首先你需要使用解析它JSON.parse()然后你可以访问它的内容。


请参阅此 Javascript 示例:


var json = '{"trial-data":[{"trial":{"index": 0}},{"trial":{"index":1}}]}'


alert(JSON.parse(json)['trial-data'])

要访问第一个"index"字段的值,例如:


var idx0 = JSON.parse(json)['trial-data'][0]['trial']['index']


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信