我正try 使用WebAPI在JSON文件中写入数据,但流编写器没有将数据写入该文件.

JSON文件:

{
"Students": [
  {
  "id": 1,
  "name": "Ravi",
  "department": "IT"
  },

 {
  "id": 2,
  "name": "Raj",
  "department": "hr"
  },
{
  "id": 3,
  "name": "avi",
  "department": "it"
 },
{
  "id": 4,
  "name": "rome",
  "department": "HR"
 },
 {
  "id":5,
  "name": "virat",
  "department": "HR"
 },
 {
  "id":6 ,
  "name": "Tushar",
  "department": "RM"
 }
]
}

班级

     public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    public string Department { get; set; }
}

    public class Students
{
    public List<Student> students { get; set; }
}   

API控制器:[HttpPost]向json文件写入数据的方法.

    [Route("api/[controller]")]
[ApiController]
public class StudentsController : ControllerBase
{

  [HttpPost]
    public IActionResult Add(Students _Student)
    {        
        using (var fs = new FileStream("C:/Users/tanmay_pawar/source/repos/CRUDAPI/CRUDAPI/people.json", FileMode.Append))
         using (var sw = new StreamWriter(fs))
        {
           sw.WriteLine(_Student);
        }

}

学生收到的数据不会添加到json文件中.

推荐答案

尝尝这个

public IActionResult Add(Students _Student)
{
      if(_Student==null || _Student.students==null)  return null;

    var filePath = @"C:\Users\....\..json";
    var json = File.ReadAllText(filePath);
    
    Students students = JsonConvert.DeserializeObject<Students>(json);
  
    students.students.AddRange(_Student.students);
    
    json=JsonConvert.SerializeObject(students);
    File.WriteAllText(filePath, json);
}

Json相关问答推荐

如何在使用GO时检测JSON中不需要的字段?

SWIFT中的网络经理

NiFi QueryRecord处理器- Select 可选的JSON属性

使用JQ在数组中 Select 第一个具有匹配项的项

如何从一个700MB的json文件中列出PowerShell中的所有密钥?

使用快速json库编写json可以消除所有缩进

419(未知状态)使用laravel处理PUT请求

当并非所有子对象都有 Select 器字段时 Select

使用 jq 获取所有嵌套键和值

嵌套存储在字符串变量中的 JSON 对象

ORA-01422: 精确提取返回的行数超过了与 json 对象组合的请求数

Go - JSON 验证抛出错误,除非我在 struct 中使用指针.为什么?

无法向 Json 数组添加新元素

如何使用法语口音对数组进行 json_encode?

如何将任意 json 对象发布到 webapi

Newtonsoft Json 将值 {null} 转换为类型System.Int32时出错

Select 什么数据类型json或者jsonb或者text

使用适用于 Python 的 Google API - 我从哪里获取 client_secrets.json 文件?

通过url获取json数据并在python中使用(simplejson)

在没有 ASP.NET Core 的情况下将 IConfigurationSection 绑定到复杂对象