Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Web API将多个数据项插入SQL?_C#_Json_Asp.net Web Api_Sql Insert - Fatal编程技术网

C# 如何使用Web API将多个数据项插入SQL?

C# 如何使用Web API将多个数据项插入SQL?,c#,json,asp.net-web-api,sql-insert,C#,Json,Asp.net Web Api,Sql Insert,我有这样一个代码: public IHttpActionResult Post(CUSTOMER [] newCustomer) { try { foreach (CUSTOMER item in newCustomer) { var AddedCust = db.CUSTOMERs.Add(item); } int insertedRecords = db.SaveChanges();

我有这样一个代码:

public IHttpActionResult Post(CUSTOMER [] newCustomer)
{
    try
    {
        foreach (CUSTOMER item in newCustomer)
        {
            var AddedCust = db.CUSTOMERs.Add(item);
        }

        int insertedRecords = db.SaveChanges();
        return Ok(insertedRecords);
    }
    catch (Exception)
    {
        return BadRequest(ModelState);
    }
}
对于Postman,我试图发布多条记录,但我遇到了一个例外:

{

    "NAME": "test1",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test2",
    "SURNAME": "Aleksat34t34ndrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test3",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
错误:

“无法将当前JSON对象(例如{“name\”:\“value\”})反序列化为类型‘First\u API.Models.CUSTOMER[]”,因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。\r\n若要修复此错误,请将JSON更改为JSON数组(例如[1,2,3]),或将反序列化类型更改为正常的.NET类型。”(例如,不是integer之类的基元类型,也不是数组或列表之类的集合类型),可以从JSON对象反序列化


如何解决此问题?

您的json正文无效,json数组应包含在
[]
(方括号)中,并且每条记录应以
(逗号)分隔

尝试使用以下json发送api请求

[{

    "NAME": "test1",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
},
{

    "NAME": "test2",
    "SURNAME": "Aleksat34t34ndrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
},
{

    "NAME": "test3",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}]
试一试


为了完整起见,您可以添加一个解释,说明为什么您已经像以前一样格式化了JSON(请参见Prassad的回答)。“试试看。”"不是答案。@CodeCaster您总是可以做得更好请阅读。这个错误已经被问过了,并且已经回答了数百次。您试过什么了?@CodeCaster我找不到答案,这就是为什么我问我如何才能只返回添加的数据本身?我知道。例如,我通过写入一条记录来获取插入记录的数量e return ok(值),但这个值在循环中,我如何返回它?@AlishSafarli,您发布的错误是不言自明的,它在stackoverflow上解决过,这可能是您的问题得到-1的原因
[
    {
        "NAME": "test1",
        "SURNAME": "Aleksandrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    },
    {
        "NAME": "test2",
        "SURNAME": "Aleksat34t34ndrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    },
    {
        "NAME": "test3",
        "SURNAME": "Aleksandrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    }
]