Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个JSON对象{yourVariable:“nothing yet”中的键的类型是什么_Json_Key Value_Typeof_Google Chrome Console - Fatal编程技术网

这个JSON对象{yourVariable:“nothing yet”中的键的类型是什么

这个JSON对象{yourVariable:“nothing yet”中的键的类型是什么,json,key-value,typeof,google-chrome-console,Json,Key Value,Typeof,Google Chrome Console,Chrome开发者控制台是Console.loging此: Your JSON sent is>> {yourVariable: "nothing yet"} 因此我知道{yourviable:“nothing yet”}JSON对象中的值“nothing yet”是一个字符串。但是我如何知道键的类型yourVariable 有没有办法只使用Chrome控制台来找出答案?所有对象键都是带引号或不带引号的字符串。试着这样看。您可能会与console print混淆,因为console

Chrome开发者控制台是
Console.log
ing此:

Your JSON sent is>> {yourVariable: "nothing yet"}
因此我知道
{yourviable:“nothing yet”}
JSON对象中的值
“nothing yet”
是一个字符串。但是我如何知道键的类型
yourVariable


有没有办法只使用Chrome控制台来找出答案?

所有对象键都是带引号或不带引号的字符串。试着这样看。您可能会与console print混淆,因为console print不带引号,而我们通常使用引号编写

var jsonObj = {person:"me","age":"30", 123:"123"};
Object.keys(jsonObj).forEach(function(key){
   console.log(typeof key)}
);

我对这个问题有一点不同的看法,这不会使你收到的评论或回答无效,但值得考虑

因为您谈论的是JSON,所以示例中没有内在的数据类型。如合同所述:

JSON(JavaScript对象表示法)是一种轻量级数据交换 格式。人类阅读和书写是很容易的。这对我来说很容易 要解析和生成的机器

关键是,JSON(javascript对象、数组等的表示)与javascript中这些类型的变量之间存在差异

如果您提醒自己JSON是一种序列化形式,那么它就更有意义了。例如,Javascript对象可以包含函数,但Javascript函数不是可移植的东西,因此在从Javascript对象呈现一些JSON时,创建JSON的语言需要做任何事情来转换它需要表示的数据,这可能包括简化和在许多情况下删除不兼容的JSON元素

要记住的另一件事是,所有现代语言都有函数或库,可以解析JSON并将其转换为在这些语言中工作的变量或对象。在这样做时,它们的参数可以完全改变JSON转换回实例变量的方式

例如,在PHP中,您可以选择让JSON创建一个或多个PHP对象,或一个PHP变量数组


总之,JSON根本没有数据类型的变量。它是一种数据表示,可以跨语言移植,但这些语言必须解码JSON并创建在其自身运行时有效的对象或变量

我猜上面的
yourVariable
本身就是关键。@torazaburo是的,是的。但它是一根绳子还是什么?为什么它没有引号?它是一个字符串。所有对象键都是字符串。它没有引号,因为这是控制台显示它的方式(以及对象文本的编写方式)。打开控制台并键入
console.log({“a”:1})