C# 用C解析JSON数据#
我有大约7000行JSON数据要解析。我们可以看到其中一部分的例子。我所做的是使用C# 用C解析JSON数据#,c#,visual-studio,json,C#,Visual Studio,Json,我有大约7000行JSON数据要解析。我们可以看到其中一部分的例子。我所做的是使用WebRequest和StreamReader将所有数据放入一个字符串中。(奇怪的是,它将所有数据放在一条很长的线中)。但是现在我想解析这个,我不知道如何解析。谁能解释一下如何使用反序列化?我以前用Java解析过JSON数据,但在用C#解析JSON数据时遇到了困难,尤其是我无法找到带有清晰示例的文档。任何帮助都将不胜感激。试试看,如果您没有看到这一点,它应该会对您有所帮助 Json.NET库使使用 .NETSimp
WebRequest
和StreamReader
将所有数据放入一个字符串中。(奇怪的是,它将所有数据放在一条很长的线中)。但是现在我想解析这个,我不知道如何解析。谁能解释一下如何使用反序列化?我以前用Java解析过JSON数据,但在用C#解析JSON数据时遇到了困难,尤其是我无法找到带有清晰示例的文档。任何帮助都将不胜感激。试试看,如果您没有看到这一点,它应该会对您有所帮助
Json.NET库使使用
.NETSimple中JSON格式的数据。
主要功能包括灵活的JSON
用于快速转换的序列化程序
.NET类转换为JSON并再次转换,
以及LINQ到JSON的读取和
编写JSON
讨论了反序列化
转换的最快方法
JSON文本和.NET对象之间的
使用JsonSerializer。这个
JsonSerializer转换.NET对象
转换为JSON等价物并返回
再说一遍
反序列化的基本代码结构如下-Target
仍然需要填写,以捕获具有适当类型的其余解析数据项。所提到的文件json.txt
包含来自上述URL的数据
using System;
using System.IO;
using Newtonsoft.Json;
public class NameAndId
{
public string name;
public int id;
}
public class Data
{
public NameAndId[] data;
}
public class Target
{
public string id;
public NameAndId from;
public Data likes;
}
public class Program
{
static void Main(string[] args)
{
string json = File.ReadAllText(@"c:\temp\json.txt");
Target newTarget = JsonConvert.DeserializeObject<Target>(json);
}
}
就我个人而言,当功能由框架提供时,我不喜欢依赖外部库。在这种情况下,类:
var serializer=newJavaScriptSerializer();
var myobj=serializer.Deserialize(mystring);
另请参见--链接带来的全新乐趣能否给我举个例子,说明如何使用我提供的链接?@Daisama-我会看一看,但这不会很快发生。@Daisama-看一看,似乎很简单。哇,这很有帮助。非常感谢。因此,对于具有多个条目(“likes”和“messages”)的对象,我应该只创建一个对象数组?在我看来,“likes”和“messages”都可以被视为一个结构,它有一个成员,一个结构数组(每个结构实际上与
中的相同)。我会试着再发一次。同意。此外,我还使用位于System.Runtime.Serialization.Json命名空间(System.Runtime.Serialization assembly)中的DataContractJsonSerializer类来反序列化Json对象:DataContractJsonSerializer jsonSerializer=new DataContractJsonSerializer(typeof(T));return(T)jsonSerializer.ReadObject(memoryStream)代码>@Dr.Wily'sApprentice:不过,这需要哪个参考或.net框架?(编辑)啊System.ServiceModel.Web
。
{
"id": "367501354973",
"from": {
"name": "Bret Taylor",
"id": "220439"
},
"message": "Pigs run from our house in fear. Tonight, I am wrapping the pork tenderloin in bacon and putting pancetta in the corn.",
"updated_time": "2010-03-06T02:57:48+0000",
"likes": {
"data": [
{
"id": "29906278",
"name": "Ross Miller"
},
{
"id": "732777462",
"name": "Surjit Padham"
},
var serializer = new JavaScriptSerializer();
var myobj = serializer.Deserialize<MyType>(mystring);