2017-11-13 3 views
-5

JSON.stringify 후에 객체 데이터에 액세스 할 수 없습니다. 내가 CONSOLE.LOG으로 정의되지는군요 (데이터 [0] .colour) 사전에JSON.stringify를 사용하여 객체 만들기

let data = []; 
let colours = ['#340068' , '#ff6978' , '#fffcf9' , '#b1ede8' , '#6d435a'] 
let names = ['coffee' , 'cake' , 'holiday' , 'break' , 'lunch'] 

var result = colours.map(function(element , i){ 
    data.push(`{'colour' : '${element}','name' : '${names[i]}'}`) 
}) 

감사

JSON.stringify(data) 

console.log(data[0].colour) 
+5

JSON.parse를 사용하는 객체를 만들려면 –

+5

['JSON.stringiy'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/)을 찾아야합니다. JSON/stringify). –

+2

'JSON.stringify'는 객체를 * strings *로 변환합니다. 일부 JSON을 객체/배열로 변환하려면'JSON.parse'를 사용하십시오. –

답변

1

가장 먼저 작은 따옴표

'

는 ... 문자를 나타냅니다. 문자열 용으로 dou BLE 따옴표

"

둘째 JSON 캐릭터 라인 화 개체를 얻을하지 않습니다 ... 유효한 JSON 문자열에

JSON.PARSE는 JSON 개체를 만드는 ..

let data = []; 
 
let colours = ['#340068' , '#ff6978' , '#fffcf9' , '#b1ede8' , '#6d435a'] 
 
let names = ['coffee' , 'cake' , 'holiday' , 'break' , 'lunch'] 
 

 
var result = colours.map(function(element , i){ 
 
var item = `{"colour" : "${element}","name" : "${names[i]}"}`; 
 
var itemstr = JSON.stringify(item); 
 
var itemObj = JSON.parse(itemstr); 
 
data.push(itemObj) //replaced ' 
 
}) 
 
    
 
var FirstItemOBj = JSON.parse(data[0]); 
 
console.log(FirstItemOBj.colour); // gets the first object of strings 
 

+0

답변 해 주셔서 감사합니다. 그렇다면 항상 JSON.parse를 사용하여 객체에 액세스해야합니까? 예를 들어 data.colour [0] 만 사용할 수 있습니까? – James

+0

json 객체에서만 [O] .colour를 사용할 수 있습니다 ... 당신이하는 일은 문자열입니다 .... JSON.parse를 매번 사용하고 싶지 않다면 ... 개체와 응용 프로그램 ... 나는이 대답을 내일 아침에 업데이트 할 것이다 –

+0

나는 내가 필요한 것이 무엇인지 이해했다고 생각한다 : – James

관련 문제