见下面我的
main.go
type Data struct {
unit []string `json:"unit"`
}
func receive(w http.ResponseWriter, r *http.Request) {
dec := json.NewDecoder(r.Body)
for {
var d Data
if err := dec.Decode(&d); err == io.EOF {
break
} else if err != nil {
log.Println(err)
}
log.Printf("%s\n", d.unit)
}
}
抛出的错误:" json:无法将数组解组为main类型的GO值"
moj.js
$(function(){
$('#start').on('click', function(){
var i;
var j = 0;
for (i = 0; i < result.length; i++){
if(result[i] == null){
}else if(result[i]==""){
}else{
lookup[j] = result[i];
j++
}
}
$.ajax({
type: 'POST',
url: '/start',
data: '[{"unit":"'+lookup+'"}]',
dataType: "json",
contentType: "application/json",
success: function () {
alert("Data posted.")
},
error: function(){
alert('Error posting data.')
}
});
});
});
&#34; json&#34;我发送的内容如下:[{&#34; unit&#34;:&#34; something&#34;}]。
在控制台中我可以看到数据已经像这样发布了。
答案 0 :(得分:2)
两件事:
请参阅:https://play.golang.org/p/4kfIQTXqYi
type Data struct {
Unit string `json:"unit"`
}
func receive(w http.ResponseWriter, r *http.Request) {
dec := json.NewDecoder(r.Body)
for {
var d []Data
if err := dec.Decode(&d); err == io.EOF {
break
} else if err != nil {
log.Println(err)
}
log.Printf("%s\n", d.Unit)
}
}