Javascript 如何从JSON到JS获取密钥的值?

Javascript 如何从JSON到JS获取密钥的值?,javascript,html,json,Javascript,Html,Json,我正在开发一个应用程序,它要求从JS输入日期,并在JSON表中检查当天的“字母”是什么 如何获取我创建的JS日期字符串(yyyy、mm、dd),并找到相应键的值 我尝试过获取字符串,将其字符串化,并将其通过JS函数推送 var d = new Date(); var date = d.getDate(); var month = d.getMonth() + 1; var year = d.getFullYear(); var dateStr

我正在开发一个应用程序,它要求从JS输入日期,并在JSON表中检查当天的“字母”是什么

如何获取我创建的JS日期字符串(yyyy、mm、dd),并找到相应键的值

我尝试过获取字符串,将其字符串化,并将其通过JS函数推送

var d = new Date();

      var date = d.getDate();
      var month = d.getMonth() + 1; 
      var year = d.getFullYear();
      var dateStr = year + "/" + month + "/" + date;
      console.log(dateStr);
      dateJSON = JSON.stringify(dateStr)
      console.log(dateJSON)
      alert(testVar.dateJSON)
对于“2019-11-08”,我希望变量“letterDay”等于“A_con”


到目前为止,当我拉取“testVar.dateJSON”时,我的代码返回“undefined”

您是否尝试过使用
JSON.parse()


So:
JSON.parse(testVar)是否尝试使用
JSON.parse()


So:
JSON.parse(testVar)您将
dateStr
变量格式化为错误的方式(“/”而不是“-”)

JS文件中的
var testVar={//
“2019-11-06”:“D”,
“2019-11-08”:“持续了很长时间……”。。。。。
}
var d=新日期('2019年11月6日23:15:30');
var day=d.getDate();
变量月份=d.getMonth()+1;
var year=d.getFullYear();
var dateStr=年+“-”+月+“-”+(天>9天:'0'+天);

console.log(testVar[dateStr]);//D
您将
dateStr
变量的格式设置错误(“/”而不是“-”)

JS文件中的
var testVar={//
“2019-11-06”:“D”,
“2019-11-08”:“持续了很长时间……”。。。。。
}
var d=新日期('2019年11月6日23:15:30');
var day=d.getDate();
变量月份=d.getMonth()+1;
var year=d.getFullYear();
var dateStr=年+“-”+月+“-”+(天>9天:'0'+天);

console.log(testVar[dateStr]);//D
我认为它比这简单得多,您的数据键的格式是
yyyy-mm-dd
,而您的
dateStr
的格式是
yyy/mm/dd
这里是一个简单的代码片段

JS文件中的
var testVar={//
“2019-11-09”:“D”,
“2019-11-08”:“持续了很长时间……”。。。。。
}
var d=新日期();
var date=d.getDate();
变量月份=d.getMonth()+1;
var year=d.getFullYear();
//你的错误在这里,分隔符是“/”
var dateStr=年+“-”+月+“-”+日期;
console.log(dateStr);
//动态获取值
//当您有一个动态键时,请使用testVar[dateStr]
//testVar.dateStr将逐字查找一个名为“dateStr”的键,它不会计算dateStr的值

log(testVar[dateStr])
我认为这远比这简单,您的数据键的格式是
yyyy-mm-dd
,而您的
dateStr
的格式是
yyy/mm/dd
,这里是一个简单的代码片段

JS文件中的
var testVar={//
“2019-11-09”:“D”,
“2019-11-08”:“持续了很长时间……”。。。。。
}
var d=新日期();
var date=d.getDate();
变量月份=d.getMonth()+1;
var year=d.getFullYear();
//你的错误在这里,分隔符是“/”
var dateStr=年+“-”+月+“-”+日期;
console.log(dateStr);
//动态获取值
//当您有一个动态键时,请使用testVar[dateStr]
//testVar.dateStr将逐字查找一个名为“dateStr”的键,它不会计算dateStr的值

log(testVar[dateStr])
你肯定是指
JSON.parse()
?你肯定是指
JSON.parse()
?一个非常常见的命名问题:JSON是一种用于存储数据的文本格式。一旦解析了数据,它就不再是JSON,而是一个对象。如果在它附近有
var testVar=
,那么它一开始就不是JSON;这只是JavaScript,也就是说,这看起来像是的副本,因为您似乎试图通过属性名称获取属性的值,而该名称存储在一个变量中。在这一点上,您“拼错”了名称这一事实并不重要。一个非常常见的命名问题:JSON是一种用于存储数据的文本格式。一旦解析了数据,它就不再是JSON,而是一个对象。如果在它附近有
var testVar=
,那么它一开始就不是JSON;这只是JavaScript,也就是说,这看起来像是的副本,因为您似乎试图通过属性名称获取属性的值,而该名称存储在一个变量中。你“拼错”了这个名字的事实在这一点上是无关紧要的。
var testVar = { //In a JS file
"2019-11-06": "D",
"2019-11-08": "A_con" //continues for a very long time.....
}