获取Json中特定的值
假如我们得到了一个json的数据:json===》 {"Head":{"TransCode":"X1009","TransId":"20190514145005iQXk"},"Body":{"OrderSN":"95131406006","WHSE":"aaaaa","SNs":[{"SN":"HCMPFD000621"},{"SN":"1212122"}]}}
类似这样。我们要取出来里面特定的值,而且,SNs还是一个集合。
方法如下:
string OrderSn = json["Body"]["OrderSN"].ToString();
string WHSE = json["Body"]["WHSE"].ToString();
string SNs = json["Body"]["SNs"].ToString();
SNs是一个集合,怎么取出来呢:
将json字符串解析为JToken,JObject是JToken的父类,直接使用JToken比较好用
dynamic Sns =JToken.Parse(SNs) as dynamic
for (int i = 0; i < Sns.Count; i++)//获取备注里的SN{if (Sns[i].SN.ToString() != ""){str += Sns[i].SN.ToString() + ",";}}
这样子就可以循环出来里面的值了。
1 HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 2 string response = string.Empty; 3 using (StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream())) 4 response = reader.ReadToEnd(); 5 6 var j = JObject.Parse(response); 7 string shop_name = j["Success"]["items"]["item"][0]["shop_name"].ToString();//独一味日化旗舰店、、、一层层的层级关系
{"Success": {"total_results": "1","items": {"item": [{ "shop_name": "独一味日化旗舰店", "serial_num": "","order_channel": "直营网店", "updatetime": "","总数量": "3739","maxrowver": "","tid_item": [{"storage_id": "1","tid": "S17fdgfgfg0349","pro_detail_code": "191", "book_inventory": "-5.000", "store_location": "","pro_type": "原始产品"}, {"storage_id": "1","tid": "S1712220000349","pro_detail_code": "152", "book_inventory": "-4.000", "store_location": "","pro_type": "原始产品"}]}]}}
}
上面这个是其他的厂商返回的一个Json格式的数据,现在可以是Json嵌套的还挺多,其中的一个项次还有数组,现在就是把这些数据捞出来存下来。
var j = JObject.Parse(response); //这个就是主干的值string shop_name = j["Success"]["items"]["item"][0]["shop_name"].ToString();//独一味日化旗舰店string tid_item = j["Success"]["items"]["item"][0]["tid_item"].ToString(); //下面是获取数组的名细可以取出来值JArray jArray = JArray.Parse(tid_item);for (int i = 0; i < jArray.Count; i++){JObject jdata = (JObject)jArray[i];string pro_detail_code = jdata["pro_detail_code"].ToString();}
//将数据动态插入到数组中去 JArray jArray = JArray.Parse(tid_item);JArray arr = new JArray(); for (int i = 0; i < jArray.Count; i++){JObject obj = new JObject();JObject jdata = (JObject)jArray[i];obj["linenum"] = jdata["cost_price"].ToString();obj["sku"] = jdata["sell_price"].ToString();obj["qty"] = jdata["original_price"].ToString();obj["inventoryname"] = jdata["sys_price"].ToString();obj["price"] = jdata["product_name"].ToString();arr.Add(obj);}var rss = new JObject{{"Head",new JObject{{"TransCode","X1009" },{"TransId",1212}}},{ "Body", new JObject{{"orderno", "orderno" },{"billto","billto"},{"shipto", "shipto"},{"workid", "workid"},{"tocity", "tocity"},{"Address", "Address"},{"Contact", "Contact"},{"Tel", "Tel"},{"detail", arr }}}};
转载于:https://www.cnblogs.com/ZkbFighting/p/10909892.html
获取Json中特定的值相关推荐
- java获取json中的某个值_接口测试之json中的key获取
在很多情况下我们在进行接口测试的时候都会有获取上个接口返回的json数据中的某个key值,然后下个接口调用这个key值.今天给大家讲解一下针对不同类型的json获取某个key的值. 一.首先是单纯ob ...
- python获取json中的某个值_json文件返回数据中提取数据的方法(JSON数据取其中某一个值的方法)...
比如下面的案例是,取店铺名称 接口返回数据如下:{"Code":0,"Msg":"ok","Data":{"S ...
- java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?
java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...
- Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...
java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...
- excel 读取json中指定字段值
excel 读取json中指定字段值 FIND语法 FIND(find_text, within_text, [start_num]) FIND实例一 FIND实例二 MID语法 MID(text, ...
- 【杂记】(input获取焦点失去焦点、获取input中输入的值、 键盘事件、js事件、Math 属性、手机自适应meta定义、 去掉input内置阴影、图片居中、去蓝色默认背景、点击去掉默认边框)
1. input获取焦点失去焦点 input:focus{border:1px red solid:} 获取焦点 .focus()失去焦点.blur() 2. 获取input中输入的值 <inp ...
- 面试题-js获取cookie中存储的值?
js获取cookie中存储的值? 1.cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是Jav ...
- Php 获取xml中的节点值
Php获取xml中的节点值 XML: test_xml2.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- php 获取数组最小值,php 获取数组中最小的值与键名的方法
上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...
最新文章
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- 隐马尔可夫(HMM)、前/后向算法、Viterbi算法
- 排球计分程序(三)—— 模型类的设计与实现
- Binary classification - 聊聊评价指标的那些事儿【实战篇】
- poj 3264 Balanced Lineup RMQ问题 线段树
- oracle大于当前月,oracle 现阶段年 当前月 当前周 当前日
- 【Mybatis-Plus】(四)分页、乐观锁插件 通用枚举 多数据源
- 网络安全人才平均年薪 24.09 万,跳槽周期 31 个月,安全工程师现状大曝光!
- 【Flink】Flink 多并行度下的 watermark触发机制
- ES6——变量的解构赋值
- 《原力计划【第二季】》第1周周榜揭晓!!!
- 【数据分享】全国357个城市历年空气质量数据(2013-2021)
- 手机数字雨_cmd命令数字雨教程
- c语言色电阻环编程,c 语言的计算(电阻)请问要如何用C计算电阻的三色环如~~宗 黑 红 ==1K#include #include #in...
- java定时器 实现2秒打印一次,1秒打印一次,循环往复
- 如何查找qq邮箱的服务器地址
- 哇!协议和算法竟然不是一回事!千万别再说错了!
- spring入门配置
- 杨辉三角c语言程序动态数组,动态实现杨辉三角(C语言)
- 组装计算机教材杨凤霞教案,高一集合教案