Javascript / Chrome-웹킷 관리자에서 객체를 코드로 복사하는 방법


493

javascript 객체를 기록하기 위해 javascript에서 console.log 문을 수행하고 있습니다. 일단 완료되면 해당 객체를 자바 스크립트 코드로 복사하는 방법이 있는지 궁금합니다. 내가하려고하는 것은 파일을 서버없이 로컬로 실행할 수 있도록 ajax를 사용하여 만든 객체를 XML 피드를 정적 자바 스크립트 객체로 구문 분석하는 것입니다. Chrome 관리자 창에 객체의 스크린 샷을 포함 시켜서 내가하려는 일을 볼 수 있습니다.여기에 이미지 설명을 입력하십시오


1
firefox와 옵션 .toSource ()를 사용해보십시오. 쉬워
chepe263

답변:


1247
  1. Chrome 콘솔에서 객체를 마우스 오른쪽 버튼으로 클릭 Store as Global Variable하고 상황에 맞는 메뉴에서 선택 합니다. temp1변수 이름 과 같은 것을 반환합니다 .

  2. Chrome에는 copy()방법도 있으므로 copy(temp1)콘솔에서 해당 개체를 클립 보드에 복사해야합니다.

Chrome DevTools에서 Javascript 객체 복사

재귀 객체에 대한 참고 사항 : 재귀 객체 를 복사하려고하면을 얻을 수 [object Object]있습니다. 탈출구 copy(JSON.stringify(temp1))는 객체가 유효한 JSON으로 클립 보드에 완전히 복사되므로 많은 리소스 중 하나를 사용하여 원하는대로 형식을 지정할 수 있습니다.


3
크롬 버전 49.0.2623.87 (64 비트)에서 undefined를 반환합니까? 왜>?
Pardeep Jain

10
@PardeepJain-반환 할 것이 없기 때문에 copy () 메소드에서 예상됩니다. 데이터는 클립 보드에 있어야합니다.
Carl

35
이것은 단지 [object Object]나를 위해 제공 합니다.
Ullallulloo

1
@Ullallulloo는 JSON.stringify로 다음과 같이 로그 아웃하십시오. stackoverflow.com/a/4293047/622287
kevnk

3
얕은 JS 객체가있는 경우에만 작동합니다. 재귀 깊은 객체가 있으면 [Object Object]가 표시됩니다
Marwen Trabelsi

62

시도하십시오 JSON.stringify(). 결과 문자열을 복사하십시오. 순환 참조가 포함 된 객체에는 작동하지 않습니다.


7
로그하는 코드를 수정하지 않으면 어떻게 작동하는지 알 수 없습니다.
iConnor 2013

16
나는 얻는다TypeError: Converting circular structure to JSON
Tony Brasunas

40

copy (JSON.stringify (Object_Name));을 사용하여 클립 보드에 객체를 복사 할 수 있습니다 .콘솔에서.

예 :-콘솔에 아래 코드를 복사하여 붙여넣고 Enter 키를 누릅니다. 이제 다른 곳에 붙여 넣으십시오 (Windows의 경우 CTRL + V 또는 Mac의 경우 CMD + V). 그러면 { "name": "Daniel", "age": 25}

var profile = {
    name: "Daniel",
    age: 25
};

copy(JSON.stringify(profile));

14
DOM 노드, 창 또는 원형 인 다른 객체에서는 작동하지 않습니다
Carles Alcolea

크고 간단한 객체를위한 가장 쉬운 솔루션입니다.
Hersheezy

가장 쉬운 솔루션
Anandhukrishna VR

26

이제 객체를 마우스 오른쪽 버튼으로 클릭하고 "전역 변수로 저장"을 선택하여 Chrome에서이를 수행 할 수 있습니다. http://www.youtube.com/watch?v=qALFiTlVWdg

여기에 이미지 설명을 입력하십시오


2
버전 39.0.2171.95부터 Chrome으로 Android 기기를 검사 할 때 "전역 변수로 저장"옵션을 사용할 수 없습니다.
Walter Roman

1
@David Calhoun, 나는 당신의 답변에 투표했습니다. 귀하의 답변이 2014 년 6 월 12 일에 게시 된 것으로 보이며 2014 년 8 월 5 일에 접수 된 답변은 대부분 귀하가 가진 것을 정확하게 취한 것 같습니다. 귀하의 답변이 귀하의 동영상에만 표시되는 temp1을 언급 했으므로 다른 답변이 수락 된 것 같습니다. 최고의 소원.
PatS

13

다음 단계를 수행하십시오.

  1. 다음과 같이 코드에서 console.log를 사용하여 객체를 출력하십시오. console.log (myObject)
  2. 객체를 마우스 오른쪽 버튼으로 클릭하고 "전역 객체로 저장"을 클릭하십시오. Chrome은이 시점에서 변수 이름을 인쇄합니다. "temp1"이라고 가정합니다.
  3. 콘솔에서 다음을 입력하십시오 JSON.stringify(temp1)..
  4. 이 시점에서 전체 JSON 객체를 복사 / 붙여 넣기 할 수있는 문자열로 볼 수 있습니다.
  5. 이 시점에서 http://www.jsoneditoronline.org/ 와 같은 온라인 도구를 사용 하여 문자열을 미리 확인할 수 있습니다 .

JSON.stringify (temp1) 단계는 객체가 큰 경우 장시간 실행에 영향을 줄 수 있습니다.
헤로인

@JoeTidee 같은 문제가 있었지만 debugger명령문을 설정 한 다음 중단 점에서 콘솔에서 직접 var를 검색했습니다.
Tony Brasunas


0

"글로벌 변수로 저장"을 사용하면 작동하지만 개체가 기록되는 순간이 아니라 개체의 최종 인스턴스 만 가져옵니다 (변경 사항과 개체의 변경 사항을 비교하고 싶기 때문에). 정확한 수정 시점에 객체를 얻으려면 이것을 사용합니다 ...

function logObject(object) {
    console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}

그렇게 부르세요 ...

logObject(puzzle);

데이터에 쉼표가 있으면 .replace (/./ g, ", \ n") 정규식을 제거 할 수 있습니다.


0

그래서,. 나는이 문제가 있었다. 내가 제외하고는 [object object]

나는 당신이 재귀로 이것을 할 수 있다고 확신하지만 이것은 나를 위해 일했다 :

콘솔에서 수행 한 작업은 다음과 같습니다.

var object_that_is_not_shallow = $("all_obects_with_this_class_name");
var str = '';
object_that_is_not_shallow.map(function(_,e){
    str += $(e).html();
});
copy(str);

그런 다음 편집기에 붙여 넣습니다.


0

이것은 재귀 WindowNode객체 를 생략하여 깊은 객체를 스트링 화하는 데 도움이 됩니다.

function stringifyObject(e) {
  const obj = {};
  for (let k in e) {
    obj[k] = e[k];
  }

  return JSON.stringify(obj, (k, v) => {
    if (v instanceof Node) return 'Node';
    if (v instanceof Window) return 'Window';
    return v;
  }, ' ');
}

0

저장할 데이터를 마우스 오른쪽 버튼으로 클릭하십시오


0

이것을 콘솔에 추가하고 실행하십시오.

copy(JSON.stringify(foo));

JSON을 클립 보드에 복사합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.