Tôi đang làm việc trên tệp để thêm/truy xuất dữ liệu. Định dạng dữ liệu là JSON. Tôi là một người mới. Tôi đang sử dụng JSON.NET để tuần tự hóa và deserialize dữ liệu. đây là định dạng jsonCách thêm tệp json mà không làm phiền định dạng
{ "EmpId": 1, "Name": "Kaushik", "Designation": ".net Developer", "JoiningDate": "09/23/2013", "Skill": [ { "Id": 1, "SkillName": "C#" }, { "Id": 2, "SkillName": "PHP" }, { "Id": 3, "SkillName": "java" } ] }
Đây là định dạng JSON tôi đang làm việc. Mô tả sự cố
- Tôi muốn thêm dữ liệu tệp để tôi có thể thêm nhiều json vào điều này, vì vậy tôi cần kiểm tra xem đã có một số dữ liệu chưa?
- và thứ hai tôi muốn nối thêm dữ liệu trong tệp json theo hình thức nối dữ liệu sẽ trông giống như
[ { "EmpId": 1, "Name": "Kaushik", "Designation": ".net Developer", "JoiningDate": "09/23/2013", "Skill": [ { "Id": 1, "SkillName": "C#" }, { "Id": 2, "SkillName": "PHP" }, { "Id": 3, "SkillName": "java" } ] }, { "EmpId": 1, "Name": "Kaushik", "Designation": ".net Developer", "JoiningDate": "09/23/2013", "Skill": [ { "Id": 1, "SkillName": "C#" }, { "Id": 2, "SkillName": "PHP" }, { "Id": 3, "SkillName": "java" } ] } ]
vấn đề Vì vậy, chính điều này là tôi không nhận được logic chính xác để thêm các tập tin.
Tôi đang đọc file char bởi char như sau
int count = 0; EmployeeDetail employee = new EmployeeDetail { EmpId = ++count, Name = formCollection["Name"], Designation = formCollection["Designation"], JoiningDate = formCollection["JoiningDate"], Skill = new List { new Skills(){Id = 1, SkillName = "C#"}, new Skills(){Id = 2, SkillName = "PHP"}, new Skills(){Id = 3, SkillName = "java"} } }; string json = JsonConvert.SerializeObject(employee,Formatting.Indented); var dataFile = Server.MapPath("~/App_Data/json_data.json"); //Reading the file StreamReader reader = new StreamReader(dataFile); int Tchar = 0; char ch; do { ch = (char)reader.Read(); Response.Write(ch); Tchar++; } while (!reader.EndOfStream); reader.Close(); StreamWriter file = new StreamWriter(dataFile,append:true); file.WriteLine(json); file.Close();
vì vậy bất kỳ help is appreciated cảm ơn
Cảm ơn Trước tiên vì sự giúp đỡ của bạn. Dấu 'nghĩa là gì? và Nội dung tập tin vào lần thứ hai là gì? Nó sẽ là mảng của cả hai json hay không ?? Bởi vì tôi không nhận được giải pháp của bạn chính xác –
'??' có nghĩa là nếu hàm DeserializeObject trả về null (có nghĩa là tập tin chưa được tạo, hoặc trống) thì chỉ cần tạo một Danh sách EmployeeDetail mới. Nội dung tập tin ở vòng thứ hai sẽ tiết kiệm 4 nhân viên. Sau đó 6 nhân viên vv ...Bạn có thể chỉ muốn một nhân viên thêm mỗi lần, vì vậy chỉ cần thay đổi nó. – GONeale
Cảm ơn bạn rất nhiều –