【发布时间】:2013-11-01 03:11:38
【问题描述】:
我正在使用 Eclipse 中的动态 Web 项目并使用 HTML 5 和 Javascript。 通过以下代码,我可以设法解析本地保存在系统中的 JSON 文件:
$.getJSON( "/Users/Documents/workspace2/sample.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
假设这是 JSON 文件:
{"resource":"A","literals":["B","C","D"]}
我的问题是:有没有可能有一个字符串数组来存储解析后 JSON 文件中的这些元素。例如,我对 jQuery 很陌生,无法真正看到这些元素存储在字符串数组中。谁能帮我解决这个问题。
【问题讨论】:
-
我不清楚你想做什么。你能告诉我们你的代码的期望结果应该是什么吗?
-
好吧。我正在使用 Arobr javascript 进行可视化。在某些时候,我应该显示用字符串标记的节点。我想从 JSON 文件“A”、“B”、“C”和“D”中获取,将它们存储在一个字符串数组中,并将它们用于 Arbor Javascript,以使它们在节点中可视化。解析后,如何读取或存储“A”、“B”、“C”和“D”作为字符串以供以后使用。
-
您可以将
data(此时是一个对象)保存到一个范围在getJSON调用之外的变量中,但要意识到getJson是一个异步操作。因此,当它运行时,其他东西将继续运行,直到它完成然后这将运行回调(您在调用中定义的 anon 函数),因此您在getJson回调中设置的任何变量可能在您需要时不可用. -
我会避免在模型中存储演示细节(即 HTML),因为实际上你应该分离关注点,即呈现视图、数据(即 JSON ) 应该与视图/演示文稿无关,即不了解演示文稿的细节。
-
我定义了一个超出 getJson 范围的数组并添加了以下行: {outer.push("
- " + val + "");之后,我添加了以下行以查看数组的第一个元素: {var node = sys.addNode('The First Element',{'color':'red','shape':'dot','label' :outer.get(0)});} 不幸的是,我无法获取字符串的第一个元素,但是它是在 getJson 范围之外定义的。有什么想法吗?
标签: javascript jquery html ajax json