我试图在Visual Studio 2011上为Windows 8构建一个Metro应用程序。当我试图这样做时,我遇到了一些关于如何在没有JSON.NET
库的情况下解析JSON
的问题(它还不支持Metro应用程序)。
不管怎样,我想解析这个:
{
"name":"Prince Charming",
"artist":"Metallica",
"genre":"Rock and Metal",
"album":"Reload",
"album_image":"http:\/\/up203.siz.co.il\/up2\/u2zzzw4mjayz.png",
"link":"http:\/\/f2h.co.il\/7779182246886"
}
8条答案
按热度按时间0x6upsns1#
您可以使用在.NET 4.5中添加的System.Json Namespace中的类。您需要添加对System.Runtime.Serialization程序集的引用
JsonValue.Parse() Method解析JSON文本并返回JsonValue:
如果用JSON对象传递一个字符串,则应该能够将该值强制转换为JsonObject:
这些类与System.Xml.Linq Namespace中的类非常相似。
dgsult0t2#
我使用这个......但是从来没有做过任何metro应用程序开发,所以我不知道对您可用的库有任何限制。(注意,您需要将您的类标记为具有DataContract和DataMember属性)
所以,如果你有这样的课...
然后你会这样使用它...
zf2sa74q3#
对于那些没有4.5的人,这里是我的库函数,读取json。它需要一个项目引用
System.Web.Extensions
。通常,json是基于一个合约编写的,这个合约可以而且通常会被编码成一个类(
T
),有时你可以从json中取出一个词,然后在对象浏览器中搜索这个类型。示例用法:
给定json
你可以把它解析成一个
RadComboBoxClientState
对象,如下所示:ajsxfq5m4#
我需要一个JSON序列化器和反序列化器,没有任何第三方依赖项或nuget,可以支持旧系统,所以您不必根据目标平台在Newtonsoft.Json、System.Text.Json、DataContractSerializer、JavaScriptSerializer等之间进行选择。
所以我在这里开始了这个开源(MIT)项目:
https://github.com/smourier/ZeroDepJson
它只是一个C#文件
ZeroDepJson.cs
,兼容.NET框架4.x到.NET核心,以及.NET 5.注意,它可能不如前面提到的所有库(特别是在性能方面),但它应该是相当不错的,没有摩擦。
42fyovps5#
你用过
JavaScriptSerializer
吗?还有DataContractJsonSerializer
vu8f3i0k6#
我已经写了一个小的构造来做这个很久以前,它需要**
System.Runtime.Serialization.Json
**命名空间。它使用DataContractJsonSerializer
序列化和反序列化object
与静态方法JConvert
。它适用于小数据集,但尚未测试大数据源。
JsonHelper.cs
语法:
要使用
JsonHelper
,您需要调用示例:
假设我们有一个类
person
要转换
person
对象,我们可以调用:编辑日期:2023年
由于&结构有点难以使用和理解,下面是另一个简单的实现,用
JSON.stringify()
和JSON.parse()
模拟Javascript JSON
对象现在,要使用这个方法,您只需编写:
kpbwa7wx7#
您可以使用
DataContractJsonSerializer
。有关详细信息,请参阅此link。to94eoyn8#