2017-05-19 9 views
0

JavaScript에서 JSON.stringify() 메소드를 사용하여 브라우저에서 JSON 데이터 렌더링을 허용하면 브라우저에서 렌더링 된 속성의 양쪽 끝에 큰 따옴표 " 어떤 생각이 어떻게 해결할 수 있습니까?JavaScript : 더블 쿼트 제거 - JSON.Stringify()

<li class="divider">Brown Eyes</li> 
<div id="output1"></div> 
<li class="divider">Green Eyes</li> 
<div id="output2"></div> 

<script> 
    var myContainer = ""; 

    var a = new XMLHttpRequest(); 
    a.open("GET", "https://api.myjson.com/bins/1dwnm", true); 
    a.onreadystatechange = function() { 
     console.log(a); 
     if (a.readyState == 4) { 
      var obj = JSON.parse(a.responseText); 
      for (i = 0; i < obj.length; i++) { 

       if (obj[i].eyeColor == 'brown') { 
       var myContainer = "<ul class='list'><li>" + obj[i].name.first + " " + obj[i].name.last + " - " + obj[i].eyeColor + "</li></ul>"; 
       var myContainer = JSON.stringify(myContainer); 
       document.getElementById('output1').innerHTML += myContainer;  
       } 
       if (obj[i].eyeColor == 'green') { 
       var myContainer = "<ul class='list'><li>" + obj[i].name.first + " " + obj[i].name.last + " - " + obj[i].eyeColor + "</li></ul>"; 
       var myContainer = JSON.stringify(myContainer); 
       document.getElementById('output2').innerHTML += myContainer;  
       } 
      } 
     } 

    } 
    a.send(); 
</script> 
+2

이미 문자열 인 것을 JSON.stringify()라고 부릅니다. 이것은 html이 아닌 JavaScript 객체에서 사용하기위한 것입니다. – Gavin

+0

@ 개빈 - 네 말이 맞아. 나는 "var myContainer = JSON.stringify (myContainer);"라고 주석을 달았습니다. 조각을 치고 따옴표를 제거했다. 감사! –

답변

2

"<ul class='list'><li>Faye Garrett - brown</li></ul>"때문에 유효한 JSON 문자열 아니다 -

여기 내 코드입니다.

줄의 주석 처리를 제거하고 작동합니다.