C#,Json解析,Json遍历
2016-12-16 10:26
666 查看
1、作为一个level0的C#学习者,在学习过程中用到了Json,此文记载学习遍历的一些东西,自用。
2、先看用第三方接口,实现的汇率返回的json数据
{
"error_code":0,
"resultcode":"200",
"reason":"SUCCESSED!",
"result":[
{
"data1":{
"bankConversionPri":"695.0800",
"date":"2016-12-16",
"fBuyPri":"693.8400",
"fSellPri":"696.6200",
"mBuyPri":"688.1400",
"mSellPri":"696.6200",
"name":"美元",
"time":"10:10:03"
},
"data2":{
"bankConversionPri":"723.7200",
"date":"2016-12-16",
"fBuyPri":"722.0900",
"fSellPri":"727.1600",
"mBuyPri":"699.6000",
"mSellPri":"727.1600",
"name":"欧元",
"time":"10:10:03"
},
"data3":{
"bankConversionPri":"89.5800",
"date":"2016-12-16",
"fBuyPri":"89.3800",
"fSellPri":"89.7200",
"mBuyPri":"88.6600",
"mSellPri":"89.7200",
"name":"港币",
"time":"10:10:03"
},
"data4":{
"bankConversionPri":"5.8809",
"date":"2016-12-16",
"fBuyPri":"5.8633",
"fSellPri":"5.9044",
"mBuyPri":"5.6807",
"mSellPri":"5.9044",
"name":"日元",
"time":"10:10:03"
}
]
}
暂定这串Json为result1
3、目标,要求取出对应的数组后面所有的name,fBuyPri
4、解析如下
①引用Newtonsoft.Json第三方库
②逐层解析
③对于数组嵌套,取数组JArray jar = JArray.Parse(newObj1["result"].ToString());使用Jarry
⑤在通过JToken属性转化
⑤遍历数组,注意参数类型使用到K eyValuePair<Tkey,Tvalue>,
using Newtonsoft.Json;
JsonObject newObj1 = new JsonObject(result1);
JArray jar = JArray.Parse(newObj1["result"].ToString());
String errorCode1 = newObj1["error_code"].Value;
for(var i = 0; i < jar.Count; i++)
{
JToken js = JToken.Parse(jar[i].ToString());
foreach(KeyValuePair item in j)
{
JObject jts = JObject.Parse(item.Value.ToString());
foreach(KeyValuePair obj3 in jts)
{
DataRow row1 = dt.NewRow();
row1["外币"] = jts["name"].ToString()+"(1)";
row1["本币"] = "人民币(¥)";
if(jts["fBuyPri"].ToString() =="")
{
row1["汇率"] = float.Parse("0.000");
}
else
{
row1["汇率"] = float.Parse(jts["fBuyPri"].ToString())/100;
}
dt.Rows.Add(row1);
this.dataGridView1.DataSource = dt;
break;
}
}
}
2、先看用第三方接口,实现的汇率返回的json数据
{
"error_code":0,
"resultcode":"200",
"reason":"SUCCESSED!",
"result":[
{
"data1":{
"bankConversionPri":"695.0800",
"date":"2016-12-16",
"fBuyPri":"693.8400",
"fSellPri":"696.6200",
"mBuyPri":"688.1400",
"mSellPri":"696.6200",
"name":"美元",
"time":"10:10:03"
},
"data2":{
"bankConversionPri":"723.7200",
"date":"2016-12-16",
"fBuyPri":"722.0900",
"fSellPri":"727.1600",
"mBuyPri":"699.6000",
"mSellPri":"727.1600",
"name":"欧元",
"time":"10:10:03"
},
"data3":{
"bankConversionPri":"89.5800",
"date":"2016-12-16",
"fBuyPri":"89.3800",
"fSellPri":"89.7200",
"mBuyPri":"88.6600",
"mSellPri":"89.7200",
"name":"港币",
"time":"10:10:03"
},
"data4":{
"bankConversionPri":"5.8809",
"date":"2016-12-16",
"fBuyPri":"5.8633",
"fSellPri":"5.9044",
"mBuyPri":"5.6807",
"mSellPri":"5.9044",
"name":"日元",
"time":"10:10:03"
}
]
}
暂定这串Json为result1
3、目标,要求取出对应的数组后面所有的name,fBuyPri
4、解析如下
①引用Newtonsoft.Json第三方库
②逐层解析
③对于数组嵌套,取数组JArray jar = JArray.Parse(newObj1["result"].ToString());使用Jarry
⑤在通过JToken属性转化
⑤遍历数组,注意参数类型使用到K eyValuePair<Tkey,Tvalue>,
using Newtonsoft.Json;
JsonObject newObj1 = new JsonObject(result1);
JArray jar = JArray.Parse(newObj1["result"].ToString());
String errorCode1 = newObj1["error_code"].Value;
for(var i = 0; i < jar.Count; i++)
{
JToken js = JToken.Parse(jar[i].ToString());
foreach(KeyValuePair item in j)
{
JObject jts = JObject.Parse(item.Value.ToString());
foreach(KeyValuePair obj3 in jts)
{
DataRow row1 = dt.NewRow();
row1["外币"] = jts["name"].ToString()+"(1)";
row1["本币"] = "人民币(¥)";
if(jts["fBuyPri"].ToString() =="")
{
row1["汇率"] = float.Parse("0.000");
}
else
{
row1["汇率"] = float.Parse(jts["fBuyPri"].ToString())/100;
}
dt.Rows.Add(row1);
this.dataGridView1.DataSource = dt;
break;
}
}
}
相关文章推荐
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jQuery解析json文件或者遍历json数据的方法
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- 使用JQuery遍历解析由.ashx返回的json的值
- $.each遍历json对象(java将对象转化为json格式以及将json解析为普通对象)
- iOS:二叉树多级表格的使用,使用三方库TreeTableView-master实现对json解析数据的递归遍历整理成树状结构
- js 遍历解析json数据添加列表
- JS解析Json中List类型,并遍历List中的对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- java 解析json 遍历未知key
- 遍历表格中的input转化为json数据传到后台解析实现一些操作
- java 解析json 遍历未知key与value
- java 解析 json 遍历未知key
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- JQuery解析json对象、遍历筛选数组
- JSON 数组的遍历解析
- json解析构造与json数组的遍历