2017-11-21 11 views
0

나는이 문제를 꽤 오래 동안 작업 해왔다.자바 스크립트 객체에 액세스하기

나는 사용하여 배열을 정의하고 다음

let newJsonObject = { 
    "billing_name": document.getElementsByName("order[billing_name]")[0].value, 
    "email": document.getElementsByName("order[email]")[0].value, 
    }; 

나는 다음 세 가지 console.log 작업을 수행, 스토리지에서 데이터를 얻을 parsedJson라는 변수에 보관 :

console.log(parsedJson); 
    console.log(parsedJson.billing_name); 
    console.log(parsedJson["billing_name"]); 

먼저 다음 객체를 반환합니다.

parameters: 
{"billing_name": "123", "email": "123"} 

그러나 콘솔에 로그인 된 다음 두 가지는 undefined입니다.

는 또한 키가 견적을 가지고 있지으로 개체를 만들려고했지만, 난 여전히 객체를 정의 할 때 로그가 null을 반환 왜 이해가 안

을 정의되지 않은 얻고있다. 누구든지 어떤 제안이 있습니까? 편집

: 여기 내가 데이터를 저장하고 방법입니다

여기
chrome.storage.sync.set({"parameters": JSON.stringify(newJsonObject)}); 

이 어떻게 내가 그것을 접근하고있다 :

chrome.storage.sync.get("parameters", params => { 
    if(params === null){ 
     //Nothing is even set, simply return 
     return; 
    }else{ 
     //Actually data saved in params 
     let parsedJson = params; 
     console.log(parsedJson); 
     console.log(parsedJson.parameters.billing_name); 
     console.log(parsedJson["billing_name"]); 

Here is a link to what is displayed in console

+0

이 console.log (parsedJson.parameters)를 실행하여 무엇을 얻고 있는지 말할 수 있습니까? –

답변

0

사용 JSON.parse하기로 JSON 문자열로 변환 개체

console.log(JSON.parse(parsedJson.parameters).billing_name); 
+0

내가 뭘하는지는 newJsonObject 변수를 문자열로 변환하고이를 문자열로 변환 한 다음 저장소에 저장하면됩니다. 물체로 나온다. JSON.parse를 시도하면 예기치 않은 토큰 o 오류가 발생합니다. – Jimmy

+0

내 업데이트 된 답변을 시도 –

+0

이것은 나를 위해 일했습니다! 나는 chrome.storage.sync에서 객체를 가져 왔을 때 객체가 첨부 된 객체로 반환한다고 생각합니다. 고맙습니다. 미래에 변수를 더 잘 명명해야한다고 생각합니다. – Jimmy

0

이 시도하려고 :

var test = JSON.parse(parsedJson.parameters); 
console.log(test.billing_name); 

이 작동합니다.

+0

여전히 나를 위해 정의되지 않은 반환합니다. – Jimmy

+0

@ 지미 새로운 대답이 작동합니다 – ravi

+0

당신의 권리! 도움을 주셔서 감사합니다. 불행히도 Arun의 게시물을 더 일찍 보았습니다. 그래서 나는 그의 대답을 받아 들였습니다. 그럼에도 불구하고, 귀하의 도움에 감사드립니다. – Jimmy

관련 문제