【问题标题】:JsonConvert.SerializeObject always return {} in XamarinFormsJsonConvert.SerializeObject 在 Xamarin 表单中始终返回 {}
【发布时间】:2018-06-11 00:41:45
【问题描述】:

JsonConvert.SerializeObject 似乎不适用于 xamarin 形式。或者我可能在这里遗漏了一些东西。这是我序列化一个简单对象时的输出。

看到它返回 {}。我也尝试序列化一个类,它确实返回了相同的结果。

这可能是什么问题?

更新

仍然没有解决这个问题。我尝试创建一个简单的控制台应用程序,并且 serializeObject 正在处理该项目,所以我认为它不能仅在 xamarin 表单中工作。有人有 JSON.NET 的 serializeobject 工作的 xamarin 表单项目吗?

我正在使用 Visual Studio 2017、json.net 10.0.3 和实时播放器。

【问题讨论】:

  • 您确定这只发生在 XamarinForms 中吗?尝试创建简单的控制台项目。另外,您使用的是哪个版本的 Newtonsoft.Json?
  • 我尝试在一个简单的控制台应用程序中执行此操作,它确实有效。它与 newtonsoft.json 的版本相同。 10.0.3。我将尝试在 xamarin 中降级,看看它是否适用于旧版本
  • 我试过降级了,还是不行
  • 也许forums.xamarin.com/discussion/16709/… 可能会有所帮助。
  • @RalfBönning 我已经检查过了,但它对我不起作用。有人有 JSON.NET serializeobject 正在工作的 xamarin 项目吗?我尝试从头开始创建另一个 xamarin 项目,但它仍然总是为我返回 {}。好伤心

标签: c# xamarin.forms json.net xamarin-live-player


【解决方案1】:

这是一个已知问题,请参阅https://developer.xamarin.com/guides/cross-platform/live/limitations/

对反射的支持有限(目前影响一些流行的 NuGet,如 SQLite 和 Json.NET)。其他 NuGet 仍受支持。

如果您将其编译为 APK,它在实际设备上运行良好。

还在这里发布了一个问题:https://github.com/JamesNK/Newtonsoft.Json/issues/1578

【讨论】:

    【解决方案2】:

    我尝试在一台快速机器上设置模拟器并且序列化工作正常!所以这意味着当我使用我的安卓手机在现场播放器上运行它时它不起作用。我现在将其设置为答案。如果其他人发布了如何使其在现场播放器上运行,我会将其设置为正确答案

    【讨论】:

    • 截至 2018 年 3 月 28 日,Xamarin Live Player 仍然无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2015-01-04
    • 2012-08-27
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2019-03-25
    相关资源
    最近更新 更多