[英]creating json object with variables
我試圖從我在表單中獲得的變量創建一個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使用JSON.stringify( object)
var $items = $('#firstName, #lastName,#phoneNumber,#address ')
var obj = {}
$items.each(function() {
obj[this.id] = $(this).val();
})
var json= JSON.stringify( obj);
演示: http : //jsfiddle.net/vANKa/1
它被稱為Object Literal
我不確定你想要什么樣的結構,但根據你上面的內容,你把值放在變量中的地方試試這個。
var formObject = {"formObject": [
{"firstName": firstName, "lastName": lastName},
{"phoneNumber": phone},
{"address": address},
]}
雖然這似乎更有意義(為什么你在上面的文字中有一個數組?):
var formObject = {
firstName: firstName
...
}
試試這個,看看如何從字符串創建一個對象。
var firstName = "xx";
var lastName = "xy";
var phone = "xz";
var adress = "x1";
var obj = {"firstName":firstName, "lastName":lastName, "phone":phone, "address":adress};
console.log(obj);
在執行類似$('#lastName')
時,您正在引用DOM元素。 這是一個id
屬性為“lastName”的元素。 為什么這樣? 您想引用存儲在局部變量中的值,完全不相關。 試試這個(假設對formObject
的賦值與變量聲明的范圍相同) -
var formObject = {
formObject: [
{
firstName:firstName, // no need to quote variable names
lastName:lastName
},
{
phoneNumber:phoneNumber,
address:address
}
]
};
這看起來很奇怪:你正在創建一個對象“formObject”,它包含一個名為“formObject”的成員,它包含一個對象數組。
var formValues = {
firstName: $('#firstName').val(),
lastName: $('#lastName').val(),
phone: $('#phoneNumber').val(),
address: $('#address').val()
};
請注意,這將包含解釋對象文字時的元素值,而不是訪問對象屬性時的值。 你需要為此寫一個吸氣劑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.