繁体   English   中英

如何设置 JSON 对象的多个值?

[英]How do I set multiple values of a JSON object?

所以我一直在研究这个项目,但我被卡住了,因为我不知道应该如何设置这个新 JSON 对象的其他值。 所以基本上在前端我有这个: HTML page view 'cat4' ID 是我尝试创建的新对象,它说明了我正在尝试修复的错误。 问题是我在设置新创建的对象(或多个值)的 LIMIT 值时遇到问题。 这是创建对象的代码:


function sendCat()
{
  window.clearTimeout(timeoutID);
  var newCat = document.getElementById("newCat").value
  var lim = document.getElementById("limit").value
  var data;
  data = "cat=" + newCat + ", limit=" + lim;
  var jData = JSON.stringify(data);
  makeRec("POST", "/cats", 201, poller, data);
  document.getElementById("newCat").value = "Name";
  document.getElementById("limit").value = "0";
}

特别是我一直在玩线data = "cat=" + newCat + ", limit=" + lim; 但到目前为止,我尝试的任何组合都没有奏效。 有没有办法可以修改这条线,以便在发送数据时它会起作用? 我发现这行代码有效但仅用于设置对象的一部分很奇怪。

您所指的“JSON 对象”实际上只是一个 javascript 对象,您可以使用对象文字语法创建一个对象。 具有多个属性的对象字面量如下所示:

var data = {
  cat: newCat,
  limit: lim
};
makeRec("POST", "/cats", 201, poller, JSON.stringify(data));

假设makeRec的第五个参数应该是作为字符串化 JSON 的 POST 请求正文,因为您的代码似乎暗示

JSON.stringify() 方法将 JavaScript 对象或值转换为 JSON 字符串,如果指定了替换器函数,则可以选择替换值,或者如果指定了替换器数组,则可以选择仅包含指定的属性。

MDN

我认为这就是你想要的:

 const newCat = 'Meow'; const newLimit = 5; const data = { cat: newCat, limit: newLimit } console.log(JSON.stringify(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM