不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
JSON字符串转C#匿名对象工具
编辑:dnawo 日期:2014-12-16
经常需在C#程序中使用第三方接口返回的JSON字符串,针对JSON写一个类反序列化太麻烦,Newtonsoft.Json有一个方法可以将JSON字符串转为C#匿名对象:
那么问题就变成了怎么针对JSON写一个C#匿名对象,这简单多了:
我们还可以直接反序列化为 JObject,然后通过索引器直接访问:

JsonTool下载:http://www.mzwu.com/pic/201412/JsonTool.exe
复制内容到剪贴板
程序代码

public static T DeserializeAnonymousType<T>(string value, T anonymousTypeObject)
那么问题就变成了怎么针对JSON写一个C#匿名对象,这简单多了:
复制内容到剪贴板
程序代码

using ICSharp.Newtonsoft.Json;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var jsonString = "{'name':'小明','age':30,'fruits':['apple','orange','banana']}";
var anonymousObject = JsonConvert.DeserializeAnonymousType(jsonString, new { name = string.Empty, age = 0, fruits = new[] { "" } });
Console.WriteLine("name={0}, age={1}, fruits={2}", anonymousObject.name, anonymousObject.age, String.Join(",", anonymousObject.fruits));
Console.ReadLine();
}
}
}
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var jsonString = "{'name':'小明','age':30,'fruits':['apple','orange','banana']}";
var anonymousObject = JsonConvert.DeserializeAnonymousType(jsonString, new { name = string.Empty, age = 0, fruits = new[] { "" } });
Console.WriteLine("name={0}, age={1}, fruits={2}", anonymousObject.name, anonymousObject.age, String.Join(",", anonymousObject.fruits));
Console.ReadLine();
}
}
}
我们还可以直接反序列化为 JObject,然后通过索引器直接访问:
复制内容到剪贴板
程序代码

using ICSharp.Newtonsoft.Json;
using ICSharp.Newtonsoft.Json.Linq;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var jsonString = "{'name':'小明','age':30,'fruits':['apple','orange','banana']}";
var anonymousObject = JsonConvert.DeserializeObject(jsonString) as JObject;
Console.WriteLine("name={0}, age={1}, fruits={2}", anonymousObject["name"], anonymousObject["age"], String.Join(",", anonymousObject["fruits"].ToObject<string[]>()));
Console.ReadLine();
}
}
}
using ICSharp.Newtonsoft.Json.Linq;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var jsonString = "{'name':'小明','age':30,'fruits':['apple','orange','banana']}";
var anonymousObject = JsonConvert.DeserializeObject(jsonString) as JObject;
Console.WriteLine("name={0}, age={1}, fruits={2}", anonymousObject["name"], anonymousObject["age"], String.Join(",", anonymousObject["fruits"].ToObject<string[]>()));
Console.ReadLine();
}
}
}

JsonTool下载:http://www.mzwu.com/pic/201412/JsonTool.exe
评论: 0 | 引用: 0 | 查看次数: 4650
发表评论
请登录后再发表评论!