2012-04-13 43 views
-4

打印此哈希表的数据如何在Java脚本打印此哈希表数据如何在Java脚本

var product = { 
    "prduct_name": "Mobile", 
    "product_attribute": { 
     "attribute_name": "Brand", 
     "type": "combo", 
     "product_attribute_values": { 
      "attribute_value": "Apple", 
      "brand_price": "2000" 
     } 
    } 
}; 
+4

你有什么尝试?什么不行?什么是您的目标平台(网络浏览器?jQuery?JScript?Node.js)? – maerics 2012-04-13 13:16:36

+0

我认为这个问题一定比你在这里陈述的更复杂。毕竟,如果你的目标真的只是显示一个字符串(无论是任意的)在HTML中这样做是微不足道的,并且这样做在JavaScript(为什么你不只是在HTML中做),只是稍微少一点。 – 2012-04-13 13:19:12

+0

如何使用值嵌套散列键打印散列键和值 – 2012-04-13 13:32:10

回答

0

编辑为没有看到嵌套对象数据。

http://jsfiddle.net/wYWQJ/

function printData(data) { 
    var str = ''; 
    for (var key in data) { 
     if (typeof data[key] == 'object') str += key + printData(data[key]) + ' '; 
     else str += key + ' => ' + data[key] + ' '; 
    } 
    return str; 
}; 

console.log(printData(product)); 
+0

不要忘记每个键/产品对外部的包装字符。目前,您的版本具有产品[n]和关键[n + 1],这些产品可能无法区分。 – 2012-04-13 13:21:36

+0

如何使用值打印所有键 – 2012-04-13 13:21:51

7

如果您(或目标)浏览器可以支持的JSON对象( 的Internet Explorer 8 +,火狐3.1以上版本的Safari 4+,铬3+,和Opera 10.5+ Browser-native JSON support (window.JSON) ),那么我建议作为一个快速的发展溶胶。

str = JSON.stringify(product);

,或者如果你想这一切很喜欢:

str = JSON.stringify(product, null, " ");

这可能不适合不过面对显示器的客户端!

+2

这会工作,但你必须有JSON在所有浏览器不可用的页面上 – GillesC 2012-04-13 13:39:14

+0

支持JSON - > Internet Explorer 8 +,Firefox 3.1 +,Safari 4+,Chrome 3+和Opera 10.5+相当不错 – Arth 2012-04-13 13:47:26

+0

是的,我想有时候这些问题海报应该让我们知道他们旨在支持什么。 – GillesC 2012-04-13 13:51:58