【问题标题】:Converting a massive string in a table format to a table将表格格式的海量字符串转换为表格
【发布时间】:2015-09-07 19:10:05
【问题描述】:

假设一个网页上只有这个:

<pre style="word-wrap: break-word; white-space: pre-wrap;">
"[{"Asset":1112, "Name":"Test"}, {"Asset":223, "Name":"Drill"}]"
</pre>

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

我知道 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

【问题讨论】:

  • 您好 user3339797,您是否觉得我完全回答了您的问题?如果是这样,请不要忘记通过单击答案左侧的灰色复选标记将我的答案标记为“已接受”。如果您的问题没有得到完全回答,请详细说明您还需要了解什么,以便社区可以为您提供进一步的帮助!谢谢!

标签: html arrays string pre


【解决方案1】:

这是一个经典的 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;
&lt;div id="output"&gt;&lt;/div&gt;

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

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

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多