Newtonsoft.Json反序列化Xamarin iOS项目中的对象 [英] Newtonsoft.Json deserialize object in Xamarin iOS project

查看:502
本文介绍了Newtonsoft.Json反序列化Xamarin iOS项目中的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Xamarin.Forms项目中出现了一些非常奇怪的行为.

I'm getting some very weird behaviour in my Xamarin.Forms Project.

我正在从REST API检索一些序列化的数据.然后,我尝试使用Json.NET将其反序列化为对象.

I'm retrieving some serialized data from a REST API. I'm then trying to use Json.NET to deserialize that to an object.

这在Android上工作得很好,如果我将代码复制到.NET控制台应用程序,它也可以工作.但是,在我的iOS项目中,对.DeserializeObject()的调用仅返回null.它不会引发错误或以任何方式抱怨.

This works perfectly fine on Android and if I copy the code to a .NET console application it also works. However in my iOS project, the call to .DeserializeObject() just returns null. It doesn't throw an error or complain in any way.

我确实找到了以下讨论:

I did find this discussion: https://forums.xamarin.com/discussion/15152/deserialization-not-working-with-json-net-on-ios-device-ios-simulator-works, but I didn't link all assemblies in the first place and trying to set the attribute suggested by T.J.Purtell.1752 didn't help either.

有人可以告诉我在这里做什么吗?

Could anyone tell me what to do here?

非常感谢!

Jan

编辑

以下是我要反序列化的示例响应:

Here's a sample response of what I'm trying to deserialize:

[
   {
      "Isbn":{
         "Isbn10":"0099910101",
         "Isbn13":"9780099910107"
      },
      "Title":"A Farewell to Arms",
      "Authors":[
         "Ernest Hemingway"
      ],
      "Publisher":"Random House",
      "ReleaseDate":"1994",
      "PageCount":293,
      "Description":"In 1918 Ernest Hemingway went to war, to the 'war to end all wars'. He volunteered for ambulance service in Italy, was wounded and twice decorated. Out of his experiences came A Farewell to Arms. Hemingway's description of war is unforgettable. He recreates the fear, the comradeship, the courage of his young American volunteer and the men and women he meets in Italy with total conviction. But A Farewell to Arms is not only a novel of war. In it Hemingway has also created a love story of immense drama and uncompromising passion.",
      "ThumbnailUrl":"http://books.google.com/books/content?id=m68LhBiNv8YC&printsec=frontcover&img=1&zoom=1&source=gbs_api"
   },
   {
      "Isbn":{
         "Isbn10":"9044538780",
         "Isbn13":"9789044538786"
      },
      "Title":"Het huis van de namen",
      "Authors":[
         "Colm Tóibín"
      ],
      "Publisher":"Singel Uitgeverijen",
      "ReleaseDate":"2017-08-24",
      "PageCount":0,
      "Description":"Klytaimnestra heeft veel moeten doorstaan. Haar man heeft haar kind, haar mooie oudste dochter, geofferd aan de goden, en zij heeft hem niet kunnen tegenhouden. Hoe kan ze dit ooit te boven komen? En hoe zullen haar andere twee kinderen reageren op deze ontwrichtende gebeurtenis? Eén ding neemt ze zich voor: haar man zal dit met de dood moeten bekopen.",
      "ThumbnailUrl":"http://books.google.com/books/content?id=yl8yDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api"
   }
]

推荐答案

刚刚回到了这个问题.如果有人想知道:事实证明,我最近不得不使用的Xamarin Live Player在Json.NET方面存在一些问题. ( https://developer.xamarin.com/guides/cross-platform/实时/限制/)

Just got back to this problem. In case anyone‘s wondering: Turns out the Xamarin Live Player I’ve recently had to use has some problems with Json.NET. (https://developer.xamarin.com/guides/cross-platform/live/limitations/)

我知道那一定是愚蠢的……嗯,也许我可以节省一些时间!

I knew it had to be something stupid... Well maybe I can save someone else some time!

这篇关于Newtonsoft.Json反序列化Xamarin iOS项目中的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆