【发布时间】:2012-10-10 08:50:16
【问题描述】:
我正在尝试从我在表单中获取的变量创建一个 json 对象。
var firstName = $('#firstName').val();
var lastName = $('#lastName').val();
var phone = $('#phoneNumber').val();
var address = $('#address').val();
到目前为止,我有下面的代码,但它不会验证或工作。我是新手,请帮忙! 将 var 更改为:
var jsonObject =
{
firstName: firstName,
lastName: lastName,
phoneNumber:phoneNumber,
address:address
}
在 JSONlint 中我收到此错误:
第 1 行的解析错误: varjsonObject={
^ 期待 '{', '['
【问题讨论】:
-
您确定要创建 JSON 而不是 JS 对象吗?另外,对象的哪些部分应该是变量?第一部分如何连接到第二部分?如果您真的想将
formObject转换为 JSON,那么您就很不幸,因为您无法将 jQuery 对象转换为 JSON(并且您在"firstName": ('#firstName')中缺少$)。请具体说明您想要获得的结果,现在这有点令人困惑,因为您似乎正在努力使用正确的术语。 -
您可能会发现在 MDN JavaScript 指南中阅读有关对象的更多信息会有所帮助:developer.mozilla.org/en-US/docs/JavaScript/Guide/…。
-
我想要的结果是一个我可以使用 ajax 发送的 json 对象。
-
JSON 对象不存在 (benalman.com/news/2010/03/theres-no-such-thing-as-a-json)。要么您实际上想要一个 JS 对象并将其设置为
data: ...在$.ajax配置中。或者您想将对象转换为 JSON 并将包含 JSON 的字符串发送到服务器。在 JSONlint 中出现错误的原因是您输入的是 JavaScript (var jsonObject = ..),而不是 JSON。如果您输入JSON.stringify(jsonObject)的输出,它可能会验证。与 JS 对象文字相比,我真的建议您花时间了解 JSON 到底是什么。 -
var jsonObject = {...}是有效的 JavaScript,但不是有效的 JSON!
标签: javascript jquery json object