어떻게 이것을 자바 스크립트를 사용하여 객체 또는 배열로 구문 분석 할 수 있습니까?

제 플로 포 데프

이 URL을 호출하면 : https://dogsatmyjob.tumblr.com/api/read/json?id=165570102911

다음과 같은 문자열 응답을 얻습니다.

var tumblr_api_read = {"tumblelog":{"title":"Dogs At My Job","description":"<p>Just a simple collection of the pups that I see everyday at my dog care job.<\/p>","name":"dogsatmyjob","timezone":"US\/Mountain","cname":false,"feeds":[]},"posts-start":0,"posts-total":1359,"posts-type":false,"posts":[{"id":"165570102911","url":"https:\/\/dogsatmyjob.tumblr.com\/post\/165570102911","url-with-slug":"https:\/\/dogsatmyjob.tumblr.com\/post\/165570102911\/dogsatmyjob-catcher-is-always-camera-ready","type":"photo","date-gmt":"2017-09-21 04:00:40 GMT","date":"Wed, 20 Sep 2017 22:00:40","bookmarklet":0,"mobile":0,"feed-item":"","from-feed-id":0,"unix-timestamp":1505966440,"format":"html","reblog-key":"FpmqGk7D","slug":"dogsatmyjob-catcher-is-always-camera-ready","is-submission":false,"like-button":"<div class=\"like_button\" data-post-id=\"165570102911\" data-blog-name=\"dogsatmyjob\" id=\"like_button_165570102911\"><iframe id=\"like_iframe_165570102911\" src=\"https:\/\/assets.tumblr.com\/assets\/html\/like_iframe.html?_v=66c22ab5319d742bca5762b8d18f9d06#name=dogsatmyjob&amp;post_id=165570102911&amp;color=black&amp;rk=FpmqGk7D&amp;root_id=159690206439\" scrolling=\"no\" width=\"20\" height=\"20\" frameborder=\"0\" class=\"like_toggle\" allowTransparency=\"true\" name=\"like_iframe_165570102911\"><\/iframe><\/div>","reblog-button":"<a href=\"https:\/\/www.tumblr.com\/reblog\/165570102911\/FpmqGk7D\" class=\"reblog_button\"style=\"display: block;width:20px;height:20px;\"><svg width=\"100%\" height=\"100%\" viewBox=\"0 0 21 21\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" fill=\"#000\"><path d=\"M5.01092527,5.99908429 L16.0088498,5.99908429 L16.136,9.508 L20.836,4.752 L16.136,0.083 L16.1360004,3.01110845 L2.09985349,3.01110845 C1.50585349,3.01110845 0.979248041,3.44726568 0.979248041,4.45007306 L0.979248041,10.9999998 L3.98376463,8.30993634 L3.98376463,6.89801007 C3.98376463,6.20867902 4.71892527,5.99908429 5.01092527,5.99908429 Z\"><\/path><path d=\"M17.1420002,13.2800293 C17.1420002,13.5720293 17.022957,14.0490723 16.730957,14.0490723 L4.92919922,14.0490723 L4.92919922,11 L0.5,15.806 L4.92919922,20.5103758 L5.00469971,16.9990234 L18.9700928,16.9990234 C19.5640928,16.9990234 19.9453125,16.4010001 19.9453125,15.8060001 L19.9453125,9.5324707 L17.142,12.203\"><\/path><\/svg><\/a>","state":"published","note-count":"219","reblogged-from-url":"https:\/\/dogsatmyjob.tumblr.com\/post\/159690206439\/catcher-is-always-camera-ready","reblogged-from-name":"dogsatmyjob","reblogged-from-title":"Dogs At My Job","reblogged_from_avatar_url_512":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_512.png","reblogged_from_avatar_url_128":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_128.png","reblogged_from_avatar_url_96":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_96.png","reblogged_from_avatar_url_64":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_64.png","reblogged_from_avatar_url_48":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_48.png","reblogged_from_avatar_url_40":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_40.png","reblogged_from_avatar_url_30":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_30.png","reblogged_from_avatar_url_24":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_24.png","reblogged_from_avatar_url_16":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_16.png","reblogged-root-url":"https:\/\/dogsatmyjob.tumblr.com\/post\/159690206439\/catcher-is-always-camera-ready","reblogged-root-name":"dogsatmyjob","reblogged-root-title":"Dogs At My Job","reblogged_root_avatar_url_512":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_512.png","reblogged_root_avatar_url_128":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_128.png","reblogged_root_avatar_url_96":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_96.png","reblogged_root_avatar_url_64":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_64.png","reblogged_root_avatar_url_48":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_48.png","reblogged_root_avatar_url_40":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_40.png","reblogged_root_avatar_url_30":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_30.png","reblogged_root_avatar_url_24":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_24.png","reblogged_root_avatar_url_16":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_16.png","tumblelog":{"title":"Dogs At My Job","name":"dogsatmyjob","cname":false,"url":"https:\/\/dogsatmyjob.tumblr.com\/","timezone":"US\/Mountain","avatar_url_512":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_512.png","avatar_url_128":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_128.png","avatar_url_96":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_96.png","avatar_url_64":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_64.png","avatar_url_48":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_48.png","avatar_url_40":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_40.png","avatar_url_30":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_30.png","avatar_url_24":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_24.png","avatar_url_16":"https:\/\/66.media.tumblr.com\/avatar_89ca7a2e202d_16.png"},"photo-caption":"<p><a href=\"https:\/\/dogsatmyjob.tumblr.com\/post\/159690206439\/catcher-is-always-camera-ready\" class=\"tumblr_blog\">dogsatmyjob<\/a>:<\/p>\n\n<blockquote><p>Catcher is always camera-ready.<\/p><\/blockquote>","width":960,"height":1280,"photo-url-1280":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_1280.jpg","photo-url-500":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_500.jpg","photo-url-400":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_400.jpg","photo-url-250":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_250.jpg","photo-url-100":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_100.jpg","photo-url-75":"https:\/\/66.media.tumblr.com\/cac87bd90ea04d2ed28194aed7a79308\/tumblr_oojzetRpQD1w71lqmo1_75sq.jpg","photos":[],"tags":["catcher","german shepherd","germanshepherd","cute","adorable","beautiful","dog","dogs","puppy","puppies","dogsatmyjob","dogblr"]}]};

문제는 이것이 json 본문의 서명 문자열이라는 것입니다. 뿐만 아니라은 /로 표시 \/되므로 구문 분석해야 할뿐만 아니라 이러한 문자도 이스케이프해야합니다.

이것을 파싱하는 가장 좋은 방법은 무엇입니까? 그래서 객체 / 배열로 취급 할 수 있습니까?

뾰족한

API 문서에서는 <script>태그 의 소스로 이와 같은 URL에 액세스 할 것으로 예상합니다 . 이렇게하면 반환 된 코드가 tumblr_api_read전역 변수를 생성합니다 .

xhr을 통해 읽을 때 할 수있는 일은 추가 return명령문 을 사용하여 여기에서 Function 인스턴스를 만드는 것입니다 .

var tumblrObject = new Function(responseString + " return tumblr_api_read;")();

또는 후행 세미콜론과 var일부 문자열 해커로 선언을 잘라낸 다음 남은 것을 JSON.parse(). 슬래시 앞의 백 슬래시는 문제를 일으키지 않습니다. 이것은 실제로 JSON 표준의 일부입니다.

new Function()접근 방식 을 사용하면 위험을 초래할 수 있다는 점을 추가해야합니다 . tumblr.com이 해킹되면 API는 나쁜 일을 시도하는 코드를 반환 할 수 있습니다. <script>태그 접근 방식을 사용할 때도 이러한 위험이 존재 합니다. JSON.parse()그 관점에서 문자열을 수정하고 사용하는 것이 바람직 할 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

getUTCFullYear ()를 사용하여 자바 스크립트에서 구문 분석 할 수있는 PHP에서 UTC 날짜를 어떻게 만들 수 있습니까?

분류에서Dev

자바 스크립트에서 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

자바 스크립트에서 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

여러 줄 문자열을 객체 또는 배열로 어떻게 변환 할 수 있습니까?

분류에서Dev

문자열을 분할하여 배열을 객체로 어떻게 변환 할 수 있습니까?

분류에서Dev

자바 스크립트 배열을 배열 객체로 어떻게 수정할 수 있습니까?

분류에서Dev

이 Json 객체를 Java 객체로 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

문자 'u'로 시작하는 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

자바 스크립트에서 PHP 배열 또는 JSON 응답을 어떻게 사용할 수 있습니까?

분류에서Dev

문자열에 유니 코드 코드 포인트와 16 진수 값을 혼합하여 사용하는 것처럼 보이는 이진 파일을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

swift3을 사용하여 Firebase 데이터베이스의 여러 문자열이있는 객체를 어떻게 저장할 수 있습니까?

분류에서Dev

자바 스크립트를 사용하여 문자열 배열에서 단어의 발생을 어떻게 계산할 수 있습니까?

분류에서Dev

어떻게 "DDMM"형식으로 (문자열로 제공) 날짜를 구문 분석과 자바의 Date 객체로 변환 할 수 있습니까?

분류에서Dev

컨테이너를 변경하지 않고 배열 값 (객체 배열 내부)을 어떻게 변경할 수 있습니까? 자바 스크립트

분류에서Dev

객체 배열의 인덱스가 자바 스크립트에 존재하는지 여부를 어떻게 확인할 수 있습니까?

분류에서Dev

여러 배열이있는 배열을 어떻게 정렬 할 수 있습니까? (자바 스크립트)

분류에서Dev

이 HTML 코드로 원하는 것을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

StringUtils 또는 정규 표현식을 사용하여 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

자바 스크립트를 사용하여 Django 루프 본문을 어떻게 변경할 수 있습니까?

분류에서Dev

Jackson을 사용하여 JSON 객체 키를 정수로 어떻게 구문 분석합니까?

분류에서Dev

객체 내부의 중첩 배열을 쉼표로 구분 된 하나의 연결된 문자열 값으로 어떻게 변환 할 수 있습니까?

분류에서Dev

문자 수를 기준으로 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

내가 어떻게 자바 스크립트 배열로 객체를 변환 할 수 있습니까?

분류에서Dev

JAXB를 사용하여 Java에서 중첩 된 XML 객체 목록을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Retrofit 및 GSON을 사용하여 JSON 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

json 객체에서 json 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

점 또는 배열 표기법을 사용하여 자바 스크립트에서 객체의 값에 액세스 할 수없는 것 같습니다.

분류에서Dev

.map ()을 사용하여이 자바 스크립트 객체의 데이터를 어떻게 렌더링 할 수 있습니까?

Related 관련 기사

  1. 1

    getUTCFullYear ()를 사용하여 자바 스크립트에서 구문 분석 할 수있는 PHP에서 UTC 날짜를 어떻게 만들 수 있습니까?

  2. 2

    자바 스크립트에서 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

  3. 3

    자바 스크립트에서 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

  4. 4

    여러 줄 문자열을 객체 또는 배열로 어떻게 변환 할 수 있습니까?

  5. 5

    문자열을 분할하여 배열을 객체로 어떻게 변환 할 수 있습니까?

  6. 6

    자바 스크립트 배열을 배열 객체로 어떻게 수정할 수 있습니까?

  7. 7

    이 Json 객체를 Java 객체로 어떻게 구문 분석 할 수 있습니까?

  8. 8

    문자 'u'로 시작하는 JSON 문자열을 어떻게 구문 분석 할 수 있습니까?

  9. 9

    자바 스크립트에서 PHP 배열 또는 JSON 응답을 어떻게 사용할 수 있습니까?

  10. 10

    문자열에 유니 코드 코드 포인트와 16 진수 값을 혼합하여 사용하는 것처럼 보이는 이진 파일을 어떻게 구문 분석 할 수 있습니까?

  11. 11

    swift3을 사용하여 Firebase 데이터베이스의 여러 문자열이있는 객체를 어떻게 저장할 수 있습니까?

  12. 12

    자바 스크립트를 사용하여 문자열 배열에서 단어의 발생을 어떻게 계산할 수 있습니까?

  13. 13

    어떻게 "DDMM"형식으로 (문자열로 제공) 날짜를 구문 분석과 자바의 Date 객체로 변환 할 수 있습니까?

  14. 14

    컨테이너를 변경하지 않고 배열 값 (객체 배열 내부)을 어떻게 변경할 수 있습니까? 자바 스크립트

  15. 15

    객체 배열의 인덱스가 자바 스크립트에 존재하는지 여부를 어떻게 확인할 수 있습니까?

  16. 16

    여러 배열이있는 배열을 어떻게 정렬 할 수 있습니까? (자바 스크립트)

  17. 17

    이 HTML 코드로 원하는 것을 어떻게 구문 분석 할 수 있습니까?

  18. 18

    StringUtils 또는 정규 표현식을 사용하여 어떻게 구문 분석 할 수 있습니까?

  19. 19

    자바 스크립트를 사용하여 Django 루프 본문을 어떻게 변경할 수 있습니까?

  20. 20

    Jackson을 사용하여 JSON 객체 키를 정수로 어떻게 구문 분석합니까?

  21. 21

    객체 내부의 중첩 배열을 쉼표로 구분 된 하나의 연결된 문자열 값으로 어떻게 변환 할 수 있습니까?

  22. 22

    문자 수를 기준으로 문자열을 어떻게 구문 분석 할 수 있습니까?

  23. 23

    내가 어떻게 자바 스크립트 배열로 객체를 변환 할 수 있습니까?

  24. 24

    JAXB를 사용하여 Java에서 중첩 된 XML 객체 목록을 어떻게 구문 분석 할 수 있습니까?

  25. 25

    Retrofit 및 GSON을 사용하여 JSON 배열을 어떻게 구문 분석 할 수 있습니까?

  26. 26

    내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

  27. 27

    json 객체에서 json 배열을 어떻게 구문 분석 할 수 있습니까?

  28. 28

    점 또는 배열 표기법을 사용하여 자바 스크립트에서 객체의 값에 액세스 할 수없는 것 같습니다.

  29. 29

    .map ()을 사용하여이 자바 스크립트 객체의 데이터를 어떻게 렌더링 할 수 있습니까?

뜨겁다태그

보관