gpt4 book ai didi

vue.js - 我怎样才能使结构进入其中包含对象数组的对象?

转载 作者:行者123 更新时间:2023-12-01 22:32:06 24 4
gpt4 key购买 nike

我在前端使用 Vuejs,在后端使用 Go 语言。我的 data变量具有以下格式的数据。

var data = {
software_type: this.$props.selected,
selected_solutions: this.fromChildChecked,
};
通过做 console.log(data)在前端,我得到以下输出。
enter image description here
在后端,我有这种格式的结构:
type Technology struct {
ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
SoftwareType string `json:"software_type" bson:"software_type"`
SelectedSolutions struct {
selectedSolutions []string
} `json:"selected_solutions" bson:"selected_solutions"`
}
我很确定我遇到的问题,这可能是由于我发送的数据格式和我制作的结构不同。
我正在使用 MongoDB 作为数据库。
通过提交表单,数据以以下格式进入数据库,这意味着,我得到了一个空对象 selected_solutions .
{
"_id":{"$oid":"5f5a1fa8885112e153b5a890"},
"software_type":"Cross-channel Campain Mangment Software",
"selected_solutions":{}
}
这是我希望在 DB 上使用的格式或类似于下面的格式。
{
"_id":{"$oid":"5f5a1fa8885112e153b5a890"},
"software_type":"Cross-channel Campain Mangment Software",
"selected_solutions":{
Adobe Campaign: ["Business to Customer (B2C)", "Business to Business (B2B)"],
Marin Software: ["E-Government", "M-Commerce"],
}
}
如何更改 struct 以使其与我尝试发送的数据兼容?预先感谢您的任何帮助。
编辑 : 这就是我提交数据的方式。
   postUserDetails() {
var data = {
software_type: this.$props.selected,
selected_solutions: this.fromChildChecked,
};
console.log(data);
const requestOptions = {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: JSON.stringify(data),
};
fetch("http://localhost:8080/technology", requestOptions)
.then((response) => {
response.json().then((data) => {
if (data.result === "success") {
//this.response_message = "Registration Successfull";
console.log("data posted successfully");
} else if (data.result === "er") {
// this.response_message = "Reagestraion failed please try again";
console.log("failed to post data");
}
});
})
.catch((error) => {
console.error("error is", error);
});
},
mounted() {
this.postUserDetails();
},
这是后端 Controller 的功能。
//TechnologyHandler handles checkbox selection for technology section
func TechnologyHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("content-type", "application/json")
w.Header().Add("Access-Control-Allow-Credentials", "true")
var technologyChoices model.Technology
//var selectedSolution model.Selected
//reads request body and and stores it inside body
body, _ := ioutil.ReadAll(r.Body)
//body is a json object, to convert it into go variable json.Unmarshal()is used ,
//which converts json object to User object of go.
err := json.Unmarshal(body, &technologyChoices)
var res model.TechnologyResponseResult

if err != nil {
res.Error = err.Error()
json.NewEncoder(w).Encode(res)
return
}

collection, err := db.TechnologyDBCollection()
if err != nil {
res.Error = err.Error()
json.NewEncoder(w).Encode(res)
return
}

_, err = collection.InsertOne(context.TODO(), technologyChoices)
if err != nil {
res.Error = "Error While Creating Technology choices, Try Again"
res.Result = "er"
json.NewEncoder(w).Encode(res)
return
}

res.Result = "success"
json.NewEncoder(w).Encode(res)
return
}

最佳答案

根据您的数据库结构,selected_solutions是一个包含字符串数组的对象:

type Technology struct {
ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
SoftwareType string `json:"software_type" bson:"software_type"`
SelectedSolutions map[string][]string `json:"selected_solutions" bson:"selected_solutions"`
}

关于vue.js - 我怎样才能使结构进入其中包含对象数组的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63830374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com