c#加入json库引用_C#使用litJson解析Json(一)

目录

使用的第三方库

添加的引用

适用场景

举例说明

小结

阐述

litJson作为优秀的第三方库,是解析Json很好的工具。

使用的第三方库

添加引用 litJson,如下两个引用可直接添加System.ServiceModel.Web,System.Runtime.Serialization

添加using指令集

using System.Runtime.Serialization;

using System.Runtime.Serialization.Json;

using LitJson;

适用情景

解析Json字符串

解析本地Json文件

解析Json接口Api,解析带签名的Json接口

举例子说明

解析Json接口,带签名的Json接口

首先Json字符串内容如下,是接口url的内容。大致可以看到,字典里面嵌套着字典,我们可以先取library中的字典,再取字典中的Key和Value值。

解析固定格式的Json,还有读取本地Json文件,都很类似。

{

"library": [{

"materialManufacturer": "11",

"regularLabelling": "",

"sheetLabelling": ""

}, {

"materialManufacturer": "fqwfewq",

"regularLabelling": "",

"sheetLabelling": ""

}]

}

先定义两个类

//一个材料信息,包含如下成员

public class MaterialItem

{

public static List materialList = new List();

public string materialManufacturer { get; set; }

public string regularLabelling { get; set; }

public string sheetLabelling { get; set; }

}

//材料类

public class Material

{

public Material()

{

MaterialItem = new MaterialItem();

}

public string matrail { get; set; }

public MaterialItem MaterialItem { get; set; }

}

方法的调用,这边的参数一般都是写成活的,写法可灵活变更

///

/// 主方法

///

///

public static void Main(string[] args)

{

//接口url

string url = " http://192.168.42.46/Windchill/servlet/Navigation/MaterialLibraryServlet ";

//签名

string restName = "Authorization";

//认证

string restValue = "Basic d2NhZG1pbjp3Y2FkbWlu";

//传入参数,读取Json字符串

GetJsonData(url, restName, restValue);

}

解析Json的方法封装,逻辑也是比较清晰,GET请求,请求头的添加,获取数据流文件,再父级Key下的字典,再从字典中取键值对。最后添加到list集合中,搞定数据解析。如何利用lis结合要结合具体的业务场景。

///

/// Json解析的方法封装

///

/// 传入的接口Url

/// 签名

/// 认证

public static void GetJsonData(string tmpUrlI, string tmpKeyName, string tmpKeyValue)

{

//获取请求

HttpWebRequest request = WebRequest.Create(tmpUrlI) as HttpWebRequest;

//加入请求头

request.Headers.Add(tmpKeyName, tmpKeyValue);

using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)

{

//获取响应数据流

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

//获得json字符串

string jsonstr = reader.ReadLine();

JsonData jsonData = JsonMapper.ToObject(jsonstr);

if (jsonData != null)

{

//取library下键值字典

JsonData jsonDicList = jsonData["library"];

foreach (JsonData item in jsonDicList)

{

MaterialItem JO = new MaterialItem();

JO.materialManufacturer = item["materialManufacturer"].ToString();

JO.regularLabelling = item["regularLabelling"].ToString();

JO.sheetLabelling = item["sheetLabelling"].ToString();

MaterialItem.materialList.Add(JO);

}

}

}

}

小结

Json是数据与数据之间进行交互,很快捷的方式之一。

随着互联网产业的发展。手机应用,网站建设,Json更是成为开发者,必不可少的技能之一。

get,post请求,待参数的Json,以后都会详情介绍。

感激

星星之火可以燎原,今日点滴的付出,是日后的苦尽甘来。莫愁前路漫漫,天下谁人不识君。感谢你阅读此文稿,也希望你能不吝赐教。推荐比较全面的个人学习网站,希望对你有帮助。

关于作者

var normalChild = {

nickName : "墨客码",

site : "http://www.cnblogs.com/gss0525/"

descTarget : ".net后台开发者,热衷分享技术,心怀感恩,深耕不缀。"

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值