簡體   English   中英

如何在javaScript中將字符串轉換為對象

[英]how convert string to object in javaScript

我用過Object.parses()但出錯

var obj = '
   "users": [
 { "name":"John", "age":30, "city":"New York"},
 { "name":"Mike", "age":25, "city":"new jersey"},   
]'

盡管您沒有明確提到JSON,但此數據看起來像JSON。 您可以使用JSON.parse()將JSON字符串轉換為JavaScript變量

但是,由於一些語法錯誤,您發布的字符串實際上不是有效的JSON。 您可以修復這些問題以獲得(我認為是)預期的對象結構:

1)刪除new jersey之前的多余雙引號

2)在兩端添加花括號以使其成為有效對象。

3)在最后一個數組項之后刪除多余的逗號(盡管實際上很多解析器都可以接受)

所以你最終

{ 
  "users": [
    { "name":"John", "age":30, "city":"New York"},
    { "name":"Mike", "age":25, "city":"new jersey"}
  ]
}

這可以很容易地解析:

 var obj = '{ "users": [{ "name": "John", "age": 30, "city": "New York" }, { "name": "Mike", "age": 25, "city": "new jersey" }]}'; var data = JSON.parse(obj); console.log(data); console.log("----------"); //example of gettng a specific property, now it's a JS variable console.log(data.users[0].name); 

首先,更正您的字符串。 它看起來應該像插入的片段中一樣。 其次,使用JSON.parse()

 var t = '{"users": [{ "name":"John", "age":30, "city":"New York"},{ "name":"Mike", "age":25, "city":"new jersey"}]}'; var obj = JSON.parse(t); console.log(obj["users"][0].name); console.log(obj["users"][0].age); console.log(obj["users"][0].city); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM