博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取Json中特定的值
阅读量:4312 次
发布时间:2019-06-06

本文共 4002 字,大约阅读时间需要 13 分钟。

 

假如我们得到了一个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是一个集合,怎么取出来呢:

 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

你可能感兴趣的文章
html5 canvas 渲染像素混合模式
查看>>
【hexo】01安装
查看>>
CI框架源码学习笔记2——Common.php
查看>>
005---书籍添加和编辑的提交数据
查看>>
使用case语句给字体改变颜色
查看>>
JAVA基础-多线程
查看>>
面试题5:字符串替换空格
查看>>
JSP九大内置对象及四个作用域
查看>>
OCAC公告
查看>>
Modernizr.js介绍与使用
查看>>
ConnectionString 属性尚未初始化
查看>>
解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容
查看>>
数据结构-栈 C和C++的实现
查看>>
发布功能完成
查看>>
C#获取客服端ip和用户名
查看>>
Asp.net MVC 之ActionResult
查看>>
jQuery Easy UI (适应屏幕分辨率大小)布局(Layout)
查看>>
ES6学习之字符串的扩展
查看>>
[SDOI2014]旅行
查看>>
scala学习笔记-Actor(19)
查看>>