Json.NET未序列化到文件



即使使用文档中的示例,我仍然找不到成功序列化到文件的方法。

代码:

程序.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
using System.Threading;
namespace TestProject
{
    class Program
    {
        static void Main(string[] args)
        {
            Item i = new Item
            {
                Username = "user",
                Email = "user@user.com",
                Password = "password"
            };

            File.WriteAllText(@"C:usersuser1.json", JsonConvert.SerializeObject(i));
            using (StreamWriter file = File.CreateText(@"C:usersuser1.json"))
            {
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(file, i);
            }
        }
    }
}

项目.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestProject
{
    public class Item
    {
        public string Email { get; set; }
        public string Password { get; set; }
        public string Username { get; set; }
    }
}

当我运行Program.cs时,它没有显示任何错误,但JSON没有显示在文件中。

当我运行您的代码时,我会收到一个写入users文件夹的异常。更改到我的主文件夹效果很好。我怀疑这是你的问题。

加起来,你要写两次文件。第一次展示了使用SerializeObject方法获取与WriteAllText一起使用的字符串的示例。第二个代码块正在使用StreamWriter。出于您的目的,两者都是等效的,您只需要使用其中一个。

        using (StreamWriter file = File.CreateText(@"C:usersuser1.json"))
        {
            var jsonResult = JsonConvert.SerializeObject(i);
            file.WriteLine(jsonResult);
        }

相关内容

  • 没有找到相关文章

最新更新