js,代码中"object"和"Object"区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js,代码中"object"和"Object"区别?相关的知识,希望对你有一定的参考价值。

var testname = new Object(); document.write(getType(testname)); function getType(x) if(x == null) return "null"; var t = typeof x; if(t != "object") return t; var c = Object.prototype.toString.apply(x); c = c.subst... c = c.substring(8, c;null" if(c != "Object") return c; if(x.constructor == Object) return c.constructor == Object"有什么区别?;; var t = typeof x; if(t ;classname" in x.constructor.prototype && typeof x.constructor.prototype.classname == "x; 上面的代码中:各个判断的"<string") return x.prototype、".classname;、"Object".constructor; return "!= "object".prototypevar testname = new Object(); document,还有最后的"classsname"这个什么意思;unknow type>".length-1); if(".write(getType(testname)); function getType(x) if(x == null) return " var c = Object;object".toString.apply(x);) return t 展开

参考技术A 1、"object"是字符串,typeof后,js默认有6中字符串,"number,"
"string,"
"boolean,"
"object,"
"function,"

"undefined.",用来判断对象的类型,这里判断是否是Object类型。
2、"Object"字符串,应该是判断自定义对象类是不是继承Object之类的,自己定义对象类是有规律,从第8个字符开始。判断结尾是不是Object字符串。
3、"x.constructor
==
Object":判断构造函数是不是Object对象,继承Object后,如果构造函数没有手工修改,则还是Object,不是对象本身的构造函数
4、,还有最后的"classsname"这个什么意思:判断是否有classname这个属性.

C# json字符串转object报错,求教大神怎么处理?

我是做Android开发的,最近学习C#开发,和服务端netty交互数据遇到些问题:
dotnetty 接收到的json数据 Debug.WriteLine msg:
"\"platform\":\"C#\",\"action\":\"login\",\"userInfo\":\"user_id\":100014,\"user_name\":\"admin\",\"password\":\"123456\",\"company\":\"null\",\"status\":1"

debug断点 msg:
"\"\\\"platform\\\":\\\"C#\\\",\\\"action\\\":\\\"login\\\",\\\"userInfo\\\":\\\"user_id\\\":100014,\\\"user_name\\\":\\\"admin\\\",\\\"password\\\":\\\"123456\\\",\\\"company\\\":\\\"null\\\",\\\"status\\\":1\""
解析方式:
JavaScriptSerializer jss = new JavaScriptSerializer();
//SendData send = (SendData)jss.DeserializeObject(msg);
SendData sendData = JsonConvert.DeserializeObject<SendData>(msg);
//SendData sendData2 = (SendData)JsonConvert.DeserializeObject(msg);
实体类属性:
SendData :
public string platform get; set;
public string action get; set;
public UserInfo userInfo get; set;
UserInfo :
public int user_id get; set;
public string user_name get; set;
public string password get; set;
public int status get; set;
public string company get; set;
异常信息:
Newtonsoft.Json.JsonSerializationException
HResult=0x80131500
Message=Error converting value ""platform":"C#","action":"login","userInfo":"user_id":100014,"user_name":"admin","password":"123456","company":"null","status":1" to type '_485_modbus.entity.SendData'. Path '', line 1, position 160.
Source=Newtonsoft.Json
省略无用信息.........
内部异常 1:
ArgumentException: Could not cast or convert from System.String to _485_modbus.entity.SendData.

参考技术A 你的实体类不是poco类吧,也就是有一些额外属性
建议你重新定义纯粹的针对这个json格式的类,看看是否转换还失败
另外,system.text.json是微软官方的json库本回答被提问者采纳
参考技术B 最外围多了一层引号,去除最外围的引号后,还是字符串,所以转换错误了。追问

问题是我在java服务器和Android端都是ok的,C#端就出现这种问题,用过字符串替换,截取,转义等方式还是解决不了。

以上是关于js,代码中"object"和"Object"区别?的主要内容,如果未能解决你的问题,请参考以下文章

JS中如何对object的param赋值

js中 alert出一个“[object object]”是什么意思与【object】 有什么区别?

error = "TypeError: Object [object Object] has no method 'addUnique'\n at main.js:33:12";云

js如何获取object数据类型里的键值

关于JS报错不是一个函数怎么解决

js 中 0 和 null "" 的逻辑关系