Json到Html(没有第三方库)

时间:2014-09-25 22:35:26

标签: javascript json

我是JSON的初学者,我对此非常困惑。

我必须将任何有效的JSON字符串转换为有效的HTML字符串,才能在网络上可视化JSON。

jsonToHtml(“[{‘x’: 1, ‘b’: 2}, {‘x’: 100, ‘b’: 200}]") => “x:1x:100"

谢谢你们。

2 个答案:

答案 0 :(得分:0)

首先,您的单引号和双引号字符存在一些问题。看起来可能是复制和粘贴问题。您正在显示的JSON是创建对象数组的可接受语法,只需删除包装双引号。

使用chrome的JavaScript控制台粘贴以下内容:

var myVar = [{'x': 1, 'b': 2}, {'x': 100, 'b': 200}]
// myVar now contains an array of the two objects.
// Test it out by attempting to access one of the objects properties.
myVar[0].b

更新

如果目标浏览器支持ECMAScript 5,则可以使用本机JSON.parse函数。

// Your JSON
var myJson = '[{"x": 1, "b": 2}, {"x": 100, "b": 200}]';
// Call our handy function that parses the JSON and set our variable with the parsed results.
var parsedObject = parseJson(myJson);
function parseJson(json) {
  return JSON.parse(json);
}

答案 1 :(得分:0)

this one

怎么样?
function htmlEscape(str) {
    return String(str)
            .replace(/&/g, '&')
            .replace(/"/g, '"')
            .replace(/'/g, ''')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;');
}

var jsonString = "[{‘x’: 1, ‘b’: 2}, {‘x’: 100, ‘b’: 200}]";
var htmlString = htmlEscape(jsonString);

基于this post