永发信息网

C#json有哪些常用类库

答案:1  悬赏:70  手机版
解决时间 2021-01-28 15:03
C#json有哪些常用类库
最佳答案
据结构应该是对应的,这里的例子可能忽略了部分属性和数据类型,仅供参考:

//Json数据的对象结构
public class MyJson
{
public List beanList
}

//树形结构中的对象结构
public class MyBean
{
public string id
public string title
public string note
public MyImage image
public string maxid
public string fold
public string putright
public List children

public MyBean()
{
}
}

//对象里面Image的结构
public class MyImage
{
public string url
public string border
public string height
public string width
}

2.因为json是树形结构的数据,所以需要递归遍历去寻找对应ID的对象

//这个类负责按照ID寻找对象
public class MyHelper
{
//FindById函数的重载函数,用来第一次调用
public static MyBean FindById(string id, string jsonString)
{
return FindById(id, jsonString, null);
}
//FindById递归寻找函数
public static MyBean FindById(string id, string jsonString, List beanList)
{
if (beanList == null) {
//第一次调用的时候,寻找的列表是最高层的根底下的对象列表
//将json数据转换成C#对应类型(用了Newtonsoft.Json)
MyJson json = JavaScriptConvert.DeserializeObject(jsonString);
beanList = json.beanList;
}

//遍历对象列表,寻找对应ID的对象
MyBean returnBean = null;
foreach (MyBean bean in beanList) {
if (bean.id == id) {
//找到了
returnBean = bean;
} else {
//递归寻找:
//如果不是,就寻找此对象的children列表
returnBean = FindById(id, jsonString, bean.children);
}

//如果找到,就跳出寻找
if (returnBean != null) {
break;
}
}
return returnBean;
}
}

3.使用实例:

//假设json的字符串在变量jsonString中
MyBean bean = MyHelper.FindById("33", jsonString);
if (bean != null) {
//使用查找出来的bean
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从零开始学英语要多长时间
9月1日20:00,小明用天文望远镜观察到正北方
请问西玛拉雅峰是不是在珠穆朗玛山上?
廊坊什么厂子工资待遇 对普通员工好的
夏令营基地小卖部,规定:每三个空汽水瓶可以
“乌溜溜的头发盘成一个圈 水汪汪的眼睛迷人
我姓徐别人叫我徐大大是什么意思
融安县实验三小四年级2班风采展式
求关于意大利的弗罗伦撒的旅游的书书ԅ(
请问,我想在潍坊打工去哪找啊!
在一个CAD模型空间里选择一个图形,为什么其他
得负的意思是什么啊?知道的请说下!
春风水冷摩托车好,还是本田水冷好 本田的水
求《很纯很暧昧》文字精较版,无错字无乱码无
税务监督是什么官职?
推荐资讯
裘千尺是裘家三兄妹中排第几
欠钱不还,面对耍无赖的人怎么办,求助
从上海市嘉定区自己开车到福建省南平市,走高
武冠的意思是什么啊?知道的请说下!
长沙岳麓区有步行街吗?
8分等于几mm
急!请问淘宝里这个代扣款是什么???
牛胚胎移植的基本程序如下图,请据图回答:(1
三角螺纹的英文如何翻译?
伊莱美spa女子会所地址在哪,我要去那里办事
瀚姆顿鲜酿啤酒馆地址在哪,我要去那里办事
我能为农村发展做什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?