如何从JSON数组中删除元素而不删除Golang中的下一个元素
我有一个函数,可以从POST请求中获取ID,并删除编号等于ID的元素,代码类似:如何从JSON数组中删除元素而不删除Golang中的下一个元素,go,server,Go,Server,我有一个函数,可以从POST请求中获取ID,并删除编号等于ID的元素,代码类似: w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "POST, GET") w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encod
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "POST, GET")
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding")
switch r.Method {
case "POST":
body, err := ioutil.ReadAll(r.Body)
if err != nil {
fmt.Print(err)
return
}
type row struct {
Row int
}
var rowId row
json.Unmarshal(body, &rowId)
var id = rowId.Row
type requestBody struct {
Name string
Id int
Price int
Img string
Link string
Description string
}
var request requestBody
json.Unmarshal([]byte(body), &request)
file, _ := ioutil.ReadFile("./static/nuts.json")
data := []requestBody{}
json.Unmarshal(file, &data)
data = append(data[:id])
dataBytes, err := json.MarshalIndent(data, "", " ")
if err != nil {
fmt.Print(err)
}
err = ioutil.WriteFile("./static/nuts.json", dataBytes, 0644)
if err != nil {
fmt.Print(err)
}
}
但如果我在JSON中有3个元素,并且删除了第2个元素,那么下一个元素将删除到。我是新手,不知道如何解决这个问题。请帮帮我,答案是改变这个: 数据=追加(数据[:id]) 为此: data=append(数据[:id],数据[id+1:]…)
一切都会好起来的@mkopriva谢谢你,现在一切都好起来了。我可以把你的答案作为答案贴出来吗?还是你自己做?继续吧,你可以把答案贴出来。