5

Managing html code in JSON

 2 years ago
source link: https://www.codesd.com/item/managing-html-code-in-json.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Managing html code in JSON

advertisements

I am writing code that will use AJAX requests to get some HTML code from the server to embed, but I cannot seem to get the JSON format correct. Can anyone tell me what I am doing wrong?

{"response":
 [
  {"code": "<div id=\”sponsors\” class=\”infoBox\” > <div class=\”title\”>THANK YOU 2011 SPONSORS!</div> <div class=\”section\”> <div class=\”party\”><a href=\”http://www.ChickRussell.com\”>Chick Russell Communications</a></div> <div class=\”cityState\”>Pasadena, California</div> <div class=\”description\”> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It's one of our main distinguishing features. It doesn't matter how great it looks if it doesn't create the desired effect. <a href=\”/vendors/info/17280\”>more...</a> </div> <div class=\”web\”><a href=\”http://www.ChickRussell.com\”>www.ChickRussell.com</a></div> </div>  </div>"
  }
 ]
}

When I try to run JSON.parse() on it, I get a syntax error

Here is the code I am using to read the JSON:

<script language="JavaScript" type="text/javascript">
var newxhr = new XMLHttpRequest()

newxhr.onreadystatechange = getResponse

function getResponse(){
    if(newxhr.readyState == 4) {
        var response = newxhr.responseText;

        console.log(response)

        response = JSON.parse(response)

        newxhr.close;
    }
}

var url = "http://*.*.net/test.json";

newxhr.open("GET", url, true);
newxhr.send(null)
</script>


and " are different characters. You need stright quotes, not curly ones. (Tell your browser to zoom in if you can't see the difference … and don't use an editor (e.g. many word processors) that converts to curly quotes automatically, use a proper text editor (I'm fond of ActiveState Komodo)).


Old answer (before the JSON in the question was revised):

The first thing you are probably doing wrong, is trying to build JSON by hand. Use a library instead.

The second thing you are doing wrong is HTML encoding (badly) your quote marks. To escape a " inside a JSON string you represent it as \".

The third thing (but it could be just that you are giving a poor example) is bothering to use an array for a single object.

When I try to run JSON.parse() on it, I get a syntax error

Despite the problems with it, what you have is valid JSON, so that should not happen. You appear to have reduced your test case so far that the problem you are having doesn't appear in it.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK