在Windows Phone 7上解析JSON

Nic*_*ner 6 json json.net windows-phone-7

我正在尝试在Windows Phone 7上进行一些简单的JSON操作.JSON.NET看起来很棒,但是当我尝试添加对它的引用时,VS2010会抱怨.

它让我添加Silverlight DLL,但警告我它可能会导致奇怪的应用程序行为,所以我怀疑它实际上是否有效.

看起来像是序列化和反序列化数据的好方法,但我需要实际查询它.我可以使用这种技术将其序列化为a IQueryable,然后使用LINQ吗?我可以以某种方式将JSON转换为XML并使用LINQ吗?

或者我应该自己做hacky和悲伤的字符串操作?

更新:出于某种原因,我甚至无法让VS2010识别DataContractJsonSerializer:

        // works
        DataContractSerializer ser1 = new DataContractSerializer();

        // the type or namespace 'DataContractJsonSerializer' could not be found ...
        DataContractJsonSerializer ser = new DataContractJsonSerializer();
Run Code Online (Sandbox Code Playgroud)

更新2:以下还抱怨:

using System.Runtime.Serialization.Json;
Run Code Online (Sandbox Code Playgroud)

错误:

类型或命名空间名称"的Json"不存在命名空间"System.Runtime.Serialization"存在(是否缺少程序集引用?)

我做错了什么,或者wp7不支持JSON?

更新3:看起来像DataContractJsonSerializer在System.Servicemodel.Web命名空间中.

更新4:我添加了对Silverlight JSON.NET DLL的引用,它现在似乎工作正常.手指交叉.

Mat*_*cey 5

是的,根据您的更新3(差不多):
DataContractJsonSerializerSystem.Servicemodel.Web.dll程序集中,但在System.Runtime.Serialization.Json命名空间中.

它吸引了不少人.

很高兴你似乎有这个工作.