为了账号安全,请及时绑定邮箱和手机立即绑定

请问c# 有decode函数吗?如果有,该如何表达?

请问c# 有decode函数吗?如果有,该如何表达?

30秒到达战场 2022-03-01 15:11:59
string a;字符串啊里面是json格式的数据,能不能用decode这样的函数解析json数据啊,如果没有改怎么做呢1:using System.Web.Script.Serialization;这个我在.NET引用不到,2:我下载了Newtonsoft.Json.dll并且添加引用using Newtonsoft.Json;但是当我 写:Httppostmess deserializedProduct = (Httppostmess)javascriptConvert.DeserializeObject(num, typeof(Httppostmess));时提示说:上下文中不存在javascriptConvert
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

string json (数据)
JavaScriptSerializer js = new JavaScriptSerializer();
info = js.Deserialize<T>(json);
T为事先定义好类,可以含有list<X>,根据发过来的格式对应的定义好就行了,很方便的

查看完整回答
反对 回复 2022-03-07
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

 c# 支持有decode函数
  DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
  函数介绍:
  DECODE函数是ORACLE PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值 --->select salary into var-salary from employee,然后对变量var-salary用if-then-else或 case when then else end之类的流控制语句进行判断。 如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:
  select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary*1.15) from employee 是不是很简洁? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。

  DECODE 中的if-then-else逻辑:
  在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:
  DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
  Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。
  需要注意的是,这里的if、then及else 都可以是函数或计算表达式。
  DECODE 的简单例子:
  Oracle系统中就有许多数据字典是使用decode 思想设计的,比如记录会话信息的V$SESSION数据字典视图就是这样。我们从《Oracle8i/9i Reference》资料中了解到,当用户登录成功后在V$SESSION中就有该用户的相应记录,但用户所进行的命令操作在该视图中只记录命令的代码(0—没有任何操作,2—Insert…),而不是具体的命令关键字。因此,我们需要了解当前各个用户的名字及他们所进行的操作时,要用下面命令才能得到详细的结果:
  select sid,serial#,username,
  DECODE(command,
  0,’None’,
  2,’Insert’,
  3,’Select’,
  6,’Update’,
  7,’Delete’,
  8,’Drop’,
  ‘Other’) command
  from v$session where username is not null;
  例子2:
  DECODE(VALUE,'0','1','2')
  若value为0,则为1,否则为2



查看完整回答
反对 回复 2022-03-07
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

第三方的有好多,比较有名的有Newtonsoft.Json。C#3.0后本身也支持


JsonDeserializer  //可以

4.0你可以通过


using System.Web.Script.Serialization; private static readonly JavaScriptSerializer Serializer = new JavaScriptSerializer();dynamic Data = Serializer.DeserializeObject(jsonStr);


查看完整回答
反对 回复 2022-03-07
  • 3 回答
  • 0 关注
  • 563 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信