将表格格式的大量字符串转换为表格

时间:2015-09-07 19:10:05

标签: html arrays string pre

假设网页上有唯一的内容:

Single Responsibility

如何将该字符串转换为可以访问和绘制的表格?即使我找到它,我仍然不知道如何将字符串转换为我访问的表。

我知道document.getElementsByTagName(“PRE”);将返回大量的字符串,但在那之后我有点迷失。

我正在搜索数百页,试图找到我需要做的好榜样。这是一个这样的例子: http://www.roblox.com/catalog/json?browse.aspx?Subcategory=2&Keyword=&CurrencyType=0&pxMin=0&pxMax=0&SortType=2&SortAggregation=0&SortCurrency=0&LegendExpanded=true&Category=2&PageNumber=1

1 个答案:

答案 0 :(得分:0)

这是一个经典的JSON解析问题。您链接的页面实际上只是文本 - 您看到的pre格式只是浏览器的默认样式。如果您查看页面来源,您将能够看到该页面是纯粹的仅文本 JSON。

所以您需要做的是使用XMLHttpRequest将该页面提取到您的应用程序中,然后一旦您拥有该字符串,您就可以使用内置的JSON实用程序对其进行解析。

这是一个现场演示,向您展示如何在您的应用程序中将原始JSON字符串数据转换为可用的数据结构:

var str = '[{"Asset":1112, "Name":"Test"}, {"Asset":223, "Name":"Drill"}]';
var obj = JSON.parse(str);
var output = "Asset 1: " + obj[0].Asset + ", Name: " + obj[0].Name + "<br />";
output += "Asset 2: " + obj[1].Asset + ", Name: " + obj[1].Name;
document.getElementById("output").innerHTML = output;
<div id="output"></div>

JSFiddle版本:https://jsfiddle.net/q0wdz4vz/1/

请注意,外部JSON对象是一个数组。对于第一行,我使用obj[0]检索数组中的第一个对象,然后使用.Asset获取其资产编号。与.Name和第二个对象相同。