2014-09-25 33 views
-3

我是JSON的初學者,我對此很困惑。Json到Html(沒有第三方庫)

我必須將任何有效的JSON字符串轉換爲有效的HTML字符串,才能在Web上可視化JSON。

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

謝謝你們。

+1

你想做什麼? – BlaShadow 2014-09-25 22:40:40

+0

輸入:[{'x':1,'b':2},{'x':100,'b':200}] 輸出:x:1x:100 輸入是一個通用且有效的JSON。輸出應該是一個有效的HTML – 2014-09-25 23:14:20

+0

「x:1x:100」不是有效的HTML,'b'字段去了哪裏?目前還不清楚你想要這個功能的輸出。 – 2014-09-26 03:15:34

回答

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 

UPDATE

如果目標瀏覽器支持的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); 
} 
+0

是的,這是一個複製粘貼問題。我如何解析這個[{'x':1,'b':2},{'x':100,'b':200}]到數組中?謝謝。 – 2014-09-25 22:47:26

+0

查看我的更新回答 – used2could 2014-09-26 12:29:53

0

什麼this one:基於this post

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);