Dai*_*ama 7 c# json visual-studio
我有大约7000行我要解析的JSON数据.这里可以看到其中一部分的例子.我所做的就是利用WebRequest和StreamReader把所有的数据转换成字符串.(奇怪的是,它将所有数据放入一个非常长的行).但现在我想解析这个,我不知道如何.任何人都可以解释如何使用Deserialize?我以前用Java解析过JSON数据但是我在使用C#时遇到了麻烦,特别是我无法找到带有明确示例的文档.任何帮助将不胜感激.
Ste*_*end 18
试试JSON.Net,如果你还没有看到它,它应该会帮助你.
Json.NET库使得在.NET中使用JSON格式的数据变得简单.主要功能包括灵活的JSON序列化程序,用于快速将.NET类转换为JSON,然后再返回,以及LINQ to 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);
}
}
Run Code Online (Sandbox Code Playgroud)
以下是JSON流的第一部分供参考:
{
"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"
},
Run Code Online (Sandbox Code Playgroud)
我个人不喜欢在框架提供功能时携带对外部库的依赖.在这种情况下,JavaScriptSerializer班级:
var serializer = new JavaScriptSerializer();
var myobj = serializer.Deserialize<MyType>(mystring);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50138 次 |
| 最近记录: |