javascript - 大括号内的 Node JS 字符串

标签 javascript

  // My input String
  // Could be on : true, on : false, bri : 255, etc, etc
  var inputString = 'on : true'
  console.log(inputString);
  var wrongResult = { inputString }
  console.log(wrongResult);

  // The result that I am trying to achieve
  var desiredResult = {
    on : true
  }
  console.log(desiredResult);

运行它:https://repl.it/LCDt/4

我创建了上面的代码片段来演示我遇到的问题。我收到的输入字符串可能是“on : true”、“on : false”、“bri : 250”、“sat : 13”等。将此数据发布到服务器时,有效的格式是上面显示为“desireResult”。

但是,当在变量中获取字符串(例如 'on : true')并将其放置在 {} 内时,它似乎总是创建一个以变量名作为键、字符串本身作为值的字典。

有人可以解释一下这是为什么以及如何解决它吗?

最佳答案

Can someone explain why this is

因为语法 { foo } 的意思是“创建一个对象,给它一个名为 foo 的属性,给该属性赋予 foo 的值> 变量。

how to get around it

解析数据。显式分配它。

首先在 : 上拆分字符串。然后删除空白区域。然后测试第二个值是数字还是关键字。等等。

<小时/>

如果您接收的数据采用标准格式,这会更容易。然后您可以使用现有的解析器。如果您可以控制输入:将其更改为有效的 JSON,然后使用 JSON.parse

关于javascript - 大括号内的 Node JS 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46197957/

相关文章:

javascript - Jquery 加载带有 chitika 广告的页面,破坏网站

javascript - 你能以毫秒而不是秒为单位设置音频的当前时间吗? -Javascript

javascript - 鼠标悬停在 IE7 中不起作用?

javascript - 单击输入[checkbox ]'s label will fire twice the parent' s 单击事件(knockout)

javascript - 将 Javascript 变量传递给 Python Flask

javascript - 通过逗号和空格连接数组

javascript - 页面准备好后将文本复制到剪贴板

php - 加载执行时的 JavaScript

javascript - AJAX 将内容加载到 DIV 中。哪个页面拥有/控制什么?

javascript - 如何将 FabricJS Canvas 的背景图像设置为来自 Web 服务的图像?