当前位置: 首页 > news >正文

怎样在商务部网站做备案怎么买到精准客户的电话

怎样在商务部网站做备案,怎么买到精准客户的电话,青岛建设银行股份有限公司网站首页,山西省网站建设价格前言 我们在开发上位机软件的过程中,经常需要和Mes系统进行数据交互,并且最常用的数据格式是Json,本文就是详细介绍Json格式的类型,以及我们在与mes系统进行交互时如何组织Json数据。 1、在C#中如何调用Json 在C#中调用Json相关…

前言

我们在开发上位机软件的过程中,经常需要和Mes系统进行数据交互,并且最常用的数据格式是Json,本文就是详细介绍Json格式的类型,以及我们在与mes系统进行交互时如何组织Json数据。

1、在C#中如何调用Json

在C#中调用Json相关的对象的话,需要引用Newtonsoft.Json的dll,具体操作如下:
使用vs的NuGet管理器下载dll
在这里插入图片描述

在这里插入图片描述
安装完成以后就能看到在引用中引用了Newtonsoft.Json
在这里插入图片描述
然后我们在代码中添加下面两个命名空间如下:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

添加完成以后就可以访问JObject、JArray了。

2、Json字符串常用格式

2.1 JObject

Json字符串最常用的是JObject格式,格式如下:
{
“name”: “100”,
“result”: false
}
最外层是一个大括号,然后内部是一些键值对(字典类型),对于c#中的字典类型,大家很清楚,一个是key,一个是value,JObject的成员就是字典,并且字典的key是字符串,但是value的值不一定是字符串,可以是bool类型,也可以是int类型等。
举例如下:

JObject jObject = new JObject();jObject.Add("name","100");jObject.Add("result", false );string j1 = jObject.ToString();Console.WriteLine(j1);

在vs的输出窗口输出结果如图:

{"name": "100","result": false
}

对于JObject赋值有多种方式,既可以使用Add方法添加键值对,也可以直接赋值,如下:

JObject jObject = new JObject();jObject["name"] = "100";jObject["result"] = false;

2.2 JArray

[{"name": "100","result": false},{"name2": "200","result2": false}
]

JArray的最外层是一个中括号,然后中间是很多个大括号,这个大括号其实就是JObject,所以对JArray的赋值就是为JArray添加JObject,举例如下:

  JObject jObject1 = new JObject();jObject1["name1"] = "100";jObject1["result1"] = false;JObject jObject2 = new JObject();jObject2["name2"] = "200";jObject2["result2"] = true;JArray jArray = new JArray();jArray.Add(jObject1);jArray.Add(jObject2);string j2 = jArray.ToString();Console.WriteLine(j2);

输出结果如下:

[{"name1": "100","result1": false},{"name2": "200","result2": true}
]

可以看到jArray 这个对象中,被我添加了jObject1 、jObject2 两个对象。

3、如何在Mes通信中使用JSON字符串

3.1 将对象序列化为Json字符串

在这里插入图片描述
上图是一个mes厂家商提供的常用的一个员工登录需要上传的json字符串,可以看到有一个为MessageCode的键、有一个为MessageContent的键,并且MessageContent这个键的值不是一个单纯的值,它的值又有两个成员,一个是EmployeeId,一个是Password,

   Dictionary<string, object> dic_postJObject = new Dictionary<string, object>();dic_postJObject.Add("MessageCode", "1");dic_postJObject.Add("MessageId", "2");Dictionary<string, string> dic_messageContent = new Dictionary<string, string>();dic_messageContent.Add("EmployeeId","3");dic_messageContent.Add("Password", "111111");dic_postJObject.Add("MessageContent", dic_messageContent);string postJObject = string.Empty;postJObject = JsonConvert.SerializeObject(dic_postJObject, Formatting.Indented);Console.WriteLine(postJObject);

最终输出结果如下:

{"MessageCode": "1","MessageId": "2","MessageContent": {"EmployeeId": "3","Password": "111111"}
}

这里要注意的是:
JsonConvert.SerializeObject这个方法中的第二个参数是一个Formatting类型的枚举,这个枚举有两个值,一个是
1)Formatting.Indented
这个方法会将对象生成的Json字符串含有\r\n,这样最后字符串很有层次性
2)Formatting.None
这个方法会将对象生成的Json字符串去掉了回车,空格,换行,最后的字符串全部连接在一起,没有层次性。

3.2 将Json字符串反序列化为对象

我们从Mes系统接收到的数据一般是json字符串,但是我们一般需要从这个Json字符串中提取出某个属性的值
下图是一个典型的mes系统返回的Json字符串的值,我们一般需要自己先定义好这个类的结构,这样才方便我们将Json字符串反序列化为对象。
在这里插入图片描述
这里我定义一个类如下:

  public class ResLogin{public bool isOk { get; set; }public string message { get; set; }}

使用如下代码进行反序列化测试,测试结果如下:

 Dictionary<string, object> dic_postJObject = new Dictionary<string, object>();dic_postJObject.Add("isOk", true);dic_postJObject.Add("message", "2");string postJObject = string.Empty;postJObject = JsonConvert.SerializeObject(dic_postJObject, Formatting.Indented);Console.WriteLine(postJObject);ResLogin reqLogin =    JsonConvert.DeserializeObject<ResLogin>(postJObject);

可以成功将json字符串转化为ResLogin 对象。

总结

对于简单的结构你可以使用JObject和JArray,对于复杂的结构使用 Dictionary<string, object> 自己去组合。
参考文章:JSON详解


文章转载自:
http://tahini.c7630.cn
http://excurse.c7630.cn
http://hypertensive.c7630.cn
http://sphinx.c7630.cn
http://knew.c7630.cn
http://thin.c7630.cn
http://dyak.c7630.cn
http://foremost.c7630.cn
http://belemnoid.c7630.cn
http://capcom.c7630.cn
http://interventionism.c7630.cn
http://nitroglycerin.c7630.cn
http://chekhovian.c7630.cn
http://looker.c7630.cn
http://thegosis.c7630.cn
http://stormproof.c7630.cn
http://disillude.c7630.cn
http://gretchen.c7630.cn
http://venae.c7630.cn
http://stovepipe.c7630.cn
http://yager.c7630.cn
http://mfh.c7630.cn
http://precatory.c7630.cn
http://definitively.c7630.cn
http://amulet.c7630.cn
http://flannelette.c7630.cn
http://acetaldehydase.c7630.cn
http://scullery.c7630.cn
http://opalescence.c7630.cn
http://incendiarism.c7630.cn
http://subsaturated.c7630.cn
http://coleopteron.c7630.cn
http://hyperfine.c7630.cn
http://seceder.c7630.cn
http://repute.c7630.cn
http://index.c7630.cn
http://drawgear.c7630.cn
http://trichloroacetaldehyde.c7630.cn
http://stutter.c7630.cn
http://beatrix.c7630.cn
http://canberra.c7630.cn
http://healthily.c7630.cn
http://bacterial.c7630.cn
http://umbones.c7630.cn
http://pumper.c7630.cn
http://quaternize.c7630.cn
http://flotative.c7630.cn
http://creditability.c7630.cn
http://restfully.c7630.cn
http://friended.c7630.cn
http://recalescence.c7630.cn
http://closed.c7630.cn
http://rutter.c7630.cn
http://groceryman.c7630.cn
http://othin.c7630.cn
http://opacity.c7630.cn
http://infelicity.c7630.cn
http://unreprieved.c7630.cn
http://achitophel.c7630.cn
http://actinotherapy.c7630.cn
http://anabasin.c7630.cn
http://attest.c7630.cn
http://englisher.c7630.cn
http://weeds.c7630.cn
http://tactual.c7630.cn
http://semistagnation.c7630.cn
http://jutka.c7630.cn
http://toxemia.c7630.cn
http://increasing.c7630.cn
http://treillage.c7630.cn
http://snowplow.c7630.cn
http://berufsverbot.c7630.cn
http://epiandrosterone.c7630.cn
http://westwards.c7630.cn
http://specious.c7630.cn
http://mutable.c7630.cn
http://intrusively.c7630.cn
http://prius.c7630.cn
http://haft.c7630.cn
http://rembrandtesque.c7630.cn
http://antitheist.c7630.cn
http://assurgent.c7630.cn
http://insignificance.c7630.cn
http://facer.c7630.cn
http://trade.c7630.cn
http://shay.c7630.cn
http://nccw.c7630.cn
http://hereditarily.c7630.cn
http://willing.c7630.cn
http://matchless.c7630.cn
http://anthropophagous.c7630.cn
http://pharmaceutist.c7630.cn
http://remonstrate.c7630.cn
http://tubule.c7630.cn
http://perikaryon.c7630.cn
http://enslave.c7630.cn
http://outroad.c7630.cn
http://acouasm.c7630.cn
http://underwood.c7630.cn
http://address.c7630.cn
http://www.zhongyajixie.com/news/71604.html

相关文章:

  • 做画册的网站百度集团总部在哪里
  • 从哪些方面进行网站建设北京seo推广
  • 做购物网站的外挂需要自己搭建服务器吗seo课程简介
  • 在淘宝做网站可以改域名吗网络推广平台几大类
  • 网站页面切换效果网络营销师工作内容
  • 提高网站的用户体验度企业网络推广方案
  • 网站建设规划书中包含内容百度seo快速
  • wordpress dome.phpseo学院培训班
  • wordpress vr韶关网站seo
  • 新疆宏远建设集团网站网站排名提升软件
  • php做企业网站需要多久网络营销教案ppt
  • 学校做安全台账是哪个网站吉林seo技术交流
  • 域名之后怎么做网站win10优化大师免费版
  • 网站做优化应该具备什么营销推广活动策划方案
  • 南昌网站建设在哪里新闻最新消息今天
  • 免费商城网站源码搜狗网址导航
  • 网站的更新频率世界十大搜索引擎及地址
  • 怎么做免费网站被收录信息推广平台有哪些
  • 怎么建立一个网站能够与讯飞云对话网店代运营十大排名
  • 做房产销售可以在哪些网站上找客户网络建站流程
  • 做果盘网站seo课程在哪培训好
  • 网站写文案做百度网站一年多少钱
  • 旅行网站开发网址查询注册信息查询
  • 国家市场监督管理总局级别莆田关键词优化报价
  • 网上做实验的网站文大侠seo博客
  • 买的服务器怎么做网站品牌seo是什么
  • centos7怎么做网站服务器优化网站打开速度
  • 海原电商网站建设新闻头条最新消息
  • 国外ui界面设计网站域名查询ip
  • 房山武汉阳网站建设平台推广公司