【问题标题】:Xamarin Forms Android JSON.net SerializationXamarin Forms Android JSON.net 序列化
【发布时间】:2019-05-22 13:08:10
【问题描述】:

iOS 运行良好,但 Android 构建将任何空 JSON 对象“{}”发布到网络服务,而不是使用这行代码的实际对象:

    myClient.Post(url,JsonConvert.SerializeObject(new {
        param1: z,
        param2: y,
        param3: z
        }), 
    authkey);

切换到静态定义的对象可以解决此问题。但为什么呢?

【问题讨论】:

    标签: android forms xamarin json.net


    【解决方案1】:

    根据您的描述,您应该为 JsonConvert.SerializeObject() 添加新对象,像这样,创建新对象:

    class Model1
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
    

    然后为 JsonConvert.SerializeObject() 创建新的 Model1。

    Model1 tem = new Model1() { Id=1,FirstName="cherry",LastName="bu"};
            string str = JsonConvert.SerializeObject(tem);
    
            Log.Debug("123",str);
    

    然后它就可以正常工作了,我可以得到一个字符串。

    【讨论】:

    • 谢谢@cherry-bu,这就是我们所做的,但是,我希望能理解为什么?该代码在 iOS 和其他使用 C# 的地方运行良好,但在 Android 设备上无法正常运行。
    • 你在你身边试试我的代码吗?我在 Android 和 Ios 上使用我的代码,它工作正常,但在使用您的代码时出现一些错误:JsonConvert.SerializeObject(new { param1: z, param2: y, param3: z }) 因为 JsonConvert.SerializeObject() 需要一个您定义的对象。
    猜你喜欢
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2012-12-18
    相关资源
    最近更新 更多