2012-04-13 74 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