我有一个 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']
- 1 回答
- 0 关注
- 188 浏览
添加回答
举报
0/150
提交
取消