通过 api post 请求发送 json
Sending json through api post request
我目前正在努力通过 post 请求将 JSON 发送到我的控制器以通过调用存储过程进一步使用它。
这是使用 axios 的 post 请求:
async returnJSON(model) {
this.info = await axios.post(
"https://localhost:44349/api/items/AddItem/",model)
.then((response) => response.data);
模型结构如下:
{
"arrayAutori": [
{
"dinUniversitate": true,
"creatorType": 4,
"creatorID": 3
}
],
"itemID": "",
"itemTypeID": 6,
"drepturiDeAutor": {
"valueID": "",
"fieldID": 15
},
"isbn": {
"valueID": "",
"fieldID": 25
},
"limba": {
"valueID": "",
"fieldID": 7
},
"numarPagini": {
"valueID": "",
"fieldID": 43
},
"data": {
"valueID": "",
"fieldID": 6
},
"editura": {
"valueID": "",
"fieldID": 23
},
"editie": {
"valueID": "",
"fieldID": 42
},
"volum": {
"valueID": "",
"fieldID": 19
},
"numarColectie": {
"valueID": "",
"fieldID": 41
},
"titlu": {
"valueID": "",
"fieldID": 1
}
}
这是我的控制器:
public string AddItem( JObject jsonString)
{
db.Database.ExecuteSqlCommand("exec zotero.PublicationsMerge " + jsonString);
db.SaveChanges();
return "1";
}
我无法制作模型 class 来使用它,因为 JSON 可能会因出版物而异。
另外,当我调试这个控制器时,jsonString 看起来像这样:
{{
"arrayAutori": [
{
"dinUniversitate": true,
"creatorType": 4,
"creatorID": 3
}
],
"itemID": "",
"itemTypeID": 6,
"drepturiDeAutor": {
"valueID": "",
"fieldID": 15
},
"isbn": {
"valueID": "",
"fieldID": 25
},
"limba": {
"valueID": "",
"fieldID": 7
},
"numarPagini": {
"valueID": "",
"fieldID": 43
},
"data": {
"valueID": "",
"fieldID": 6
},
"editura": {
"valueID": "",
"fieldID": 23
},
"editie": {
"valueID": "",
"fieldID": 42
},
"volum": {
"valueID": "",
"fieldID": 19
},
"numarColectie": {
"valueID": "",
"fieldID": 41
},
"titlu": {
"valueID": "",
"fieldID": 1
}
}}
我不知道为什么,但它又添加了一对 {}。我做错了什么?
好吧,似乎有一个视觉错误,在调试模式下添加了另一对大括号,它是由 JObject 引起的。没什么大碍
我目前正在努力通过 post 请求将 JSON 发送到我的控制器以通过调用存储过程进一步使用它。
这是使用 axios 的 post 请求:
async returnJSON(model) {
this.info = await axios.post(
"https://localhost:44349/api/items/AddItem/",model)
.then((response) => response.data);
模型结构如下:
{
"arrayAutori": [
{
"dinUniversitate": true,
"creatorType": 4,
"creatorID": 3
}
],
"itemID": "",
"itemTypeID": 6,
"drepturiDeAutor": {
"valueID": "",
"fieldID": 15
},
"isbn": {
"valueID": "",
"fieldID": 25
},
"limba": {
"valueID": "",
"fieldID": 7
},
"numarPagini": {
"valueID": "",
"fieldID": 43
},
"data": {
"valueID": "",
"fieldID": 6
},
"editura": {
"valueID": "",
"fieldID": 23
},
"editie": {
"valueID": "",
"fieldID": 42
},
"volum": {
"valueID": "",
"fieldID": 19
},
"numarColectie": {
"valueID": "",
"fieldID": 41
},
"titlu": {
"valueID": "",
"fieldID": 1
}
}
这是我的控制器:
public string AddItem( JObject jsonString)
{
db.Database.ExecuteSqlCommand("exec zotero.PublicationsMerge " + jsonString);
db.SaveChanges();
return "1";
}
我无法制作模型 class 来使用它,因为 JSON 可能会因出版物而异。 另外,当我调试这个控制器时,jsonString 看起来像这样:
{{
"arrayAutori": [
{
"dinUniversitate": true,
"creatorType": 4,
"creatorID": 3
}
],
"itemID": "",
"itemTypeID": 6,
"drepturiDeAutor": {
"valueID": "",
"fieldID": 15
},
"isbn": {
"valueID": "",
"fieldID": 25
},
"limba": {
"valueID": "",
"fieldID": 7
},
"numarPagini": {
"valueID": "",
"fieldID": 43
},
"data": {
"valueID": "",
"fieldID": 6
},
"editura": {
"valueID": "",
"fieldID": 23
},
"editie": {
"valueID": "",
"fieldID": 42
},
"volum": {
"valueID": "",
"fieldID": 19
},
"numarColectie": {
"valueID": "",
"fieldID": 41
},
"titlu": {
"valueID": "",
"fieldID": 1
}
}}
我不知道为什么,但它又添加了一对 {}。我做错了什么?
好吧,似乎有一个视觉错误,在调试模式下添加了另一对大括号,它是由 JObject 引起的。没什么大碍