json操作工具-LitJson

LitJSON是json生成与读取的操作工具,使用很方便并且网上还能找到源码。下面是使用LitJSON的例子:

一、生成json:实例化一个JsonData,然后按照List数组的方式向里面填。

JsonData data2 = new JsonData();

data2["name"] = "peiandsky";//一直这样写,是简单的json键值对

data2["info"] = new JsonData();//这样new出来的是嵌套json对象

data2["info"]["sex"] = "male";

data2["info"]["age"] = 28;

string ss = data2.ToJson();

//ss的值是:{"name":"peiandsky","info":{"sex":"male","age":28}}


二、解析json

String str = "{'name':'cyf','id':10,'items':[{'itemid':1001,'itemname':'hello'},{'itemid':1002,'itemname':'hello2'}]}";

JsonData data = JsonMapper.ToObject(str);

//取到name的值
string name_str = data["name"].ToString();//值为cyf

//取到第二个itemid
int itemid_sec = (int)data["items"][1]["itemid"];//值为1002,注意数据类型转换

//还可以这么取json数组的值
foreach (JsonData item in data["items"])
{

int count = item.Count;

int itemid_str = (int)item["itemid"];

string itemname_str = (string)item["itemname"];
}


三、生成json:用JsonMapper.ToJson()方法生成json

//声明一个排序的Dictionary,好处是生成的json已经按照字典排序了
SortedDictionary<string, object> m_values = new SortedDictionary<string, object>();

m_values["name"] = "hyp";

m_values["age"] = 26;

m_values["male"] = "man";

string json = JsonMapper.ToJson(m_values);

//输出的值是:{"age":26,"male":"man","name":"hyp"}

//如果不用字典的方式,还可以用实体类代替字典,使用方法是一样的。
//实体类解析例如:Player player2 = JsonMapper.ToObject<Player>(json); Player是实体类

 

四、生成json数组

JsonData jdata = new JsonData();

jdata["data"] = new JsonData();

jdata["data"].SetJsonType(JsonType.Array);//设置键data的值是数组

SortedDictionary<string, object> dic = new SortedDictionary<string, object>();

dic["proname"] = "北京";

dic["proid"] = 1;

string arr = JsonMapper.ToJson(dic);//生成一个新的json数组,作为data的数组元素

jdata["data"].Add(arr);//添加1个数组元素,到原来的json中

jdata["data"].Add(arr);//继续添加数组元素。实际用时,这里用for循环添加

string s = jdata.ToJson();//转换为json数组
//s输出值是:{"data":["{\"proid\":1,\"proname\":\"北京\"}","{\"proid\":1,\"proname\":\"北京\"}"]}
//然后替换掉反斜杠和多余的引号就可以了

 


五、生成json数组

JsonWriter writer = new JsonWriter();

JsonData JD = new JsonData();

writer.WriteArrayStart();

JD["username"] = "LiLei";

JD["phone"] = "13800138000";

JD["city"] = "北京";

writer.Write(JD.ToJson());

JD["username"] = "HanMeiMei";

JD["phone"] = "13800138001";

JD["city"] = "北京朝阳";

writer.Write(JD.ToJson());

writer.WriteArrayEnd();

string json = writer.ToString();

//输出:["{\"username\":\"LiLei\",\"phone\":\"13800138000\",\"city\":\"北京\"}","{\"username\":\"HanMeiMei\",\"phone\":\"13800138001\",\"city\":\"北京朝阳\"}"]
//这种方式输出的json数组不带数组名称,使用时须去掉多余的反斜杠和引号。

 

六、判断json中是否含有某个字段,用判断字典里是否含有某个key的方式

public bool CheckParam(JsonData Json, string KeyName)
{
bool res = false;
//判断是否有key
if (((IDictionary)Json).Contains(KeyName))
{
//string valuestr = (string)Json[KeyName];
res = true;
}

return res;
}

转载于:https://www.cnblogs.com/huyueping/p/5062786.html

Json和K-V转换工具是可以相互转换JSON(JavaScript Object Notation)和K-V(Key-Value)格式数据的工具JSON是一种轻量级的数据交换格式,常用于存储和传输数据。而K-V则是以键值对的形式存储数据。 Json和K-V转换工具的作用是将JSON数据转换为K-V格式,或者将K-V格式数据转换为JSON。在实际应用中,这个工具有以下几个方面的用途: 1. 数据存储和传输:JSON和K-V格式都可以用于存储和传输数据。有时候,JSON数据可以更方便地表示复杂的数据结构,而K-V则更适合简单的键值对数据。所以,当需要将数据从一种格式转换为另一种格式时,可以使用这个转换工具来实现。 2. 数据处理和解析:在程序中,有时候需要对JSON或K-V格式的数据进行解析和处理。例如,需要读取和修改某个键对应的值,或者需要将一些特定的数据从整体数据中提取出来。这个转换工具可以很方便地帮助我们实现这样的功能。 3. 数据展示和查看:有时候,我们需要对JSON或K-V格式的数据进行展示和查看,以便更好地理解和分析数据。这个转换工具可以将JSON数据转换为K-V格式,然后可以通过更直观的方式展示数据,或者进行一些查询和分析操作。 总之,Json和K-V转换工具在处理JSON和K-V格式数据时非常有用。它可以帮助我们在数据存储、传输、处理、解析和展示等方面更加灵活和高效地操作数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值