{
"TOTAL" : "520"
,
"PROD_101379" : {
"IMG" : "1406301107587209.jpg",
"NAME" : "hello sunny",
"LINK" : "/product/productDetail.do?seq=101379",
"SEQ" : "101379",
"PRICE" : "18000",
"MILEAGE" : "2"
}
,
"PROD_101378" : {
"IMG" : "",
"NAME" : "special gift",
"LINK" : "/product/productDetail.do?seq=101378",
"SEQ" : "101378",
"PRICE" : "3000",
"MILEAGE" : "2"
}
,
"PROD_101376" : {
"IMG" : "1405020190326241.jpg",
"NAME" : "it radiant",
"LINK" : "/product/productDetail.do?seq=101376",
"SEQ" : "101376",
"PRICE" : "45000",
"MILEAGE" : "2"
}
,
"PAGER" : "<div class="paging"><a href="javascript:pageForm('0');
}
我正在學習如何在Ruby中編程,使用Nokogiri gem來解析互聯網數據。ruby POST請求Json結構化數組或散列值爲CSV
以上數據是在使用Net/HTTP請求POST後收到的,然後使用Json gem進行解析。
JSON.parse(x.body)
我試圖把這些數據轉化爲CSV像這樣:
IMG | Name | Link | SEQ | Price | Mileage |
每個PROD_xxxxxx陣列。
我讀過的寶石文檔,又看了看其他的問題在這裏認識到,很像引入nokogiri解析HTML(或更像陣列&哈希),我應該能夠解析JSON格式。
我發現我可以用得到的東西價值:
json_parsed["TOTAL"]
這會給我「520」
我得到使用相同的方法來獲得在「PROD_xxxxxx」嵌套的數據,但是這隻會給我這個名字的特定嵌套數據。
我希望能夠通過他們循環,所以我想是這樣
json_parsed["PROD*"].each do |each|
,但看起來這是不使用的語法的正確方法。
如果我可以通過每個迴路並獲得「IMG」,「姓名」,「LINK」,......等等,我想使用CSV到:
CSV.open(fname,"w") do |csv|
Json_parsed[each-PROD].each do |each|
name = each["NAME"]
img = each["IMG"]
csv << [name, img]
end
end
但是,如果有一個比上述方法更好的方式將JSON數據轉換爲CSV(也許這是可能的,因爲JSON是結構化數據,如CSV?)我會很感激這個建議。
感謝,
你想達到什麼目的嗎? –
[這不是「爲我寫代碼」網站](http://mattgemmell.com/what-have-you-tried/)。 – mudasobwa
@mudasobwa我需要一個關於如何解決上述問題的方向。我的問題的哪一部分是要求「爲我寫代碼?」您的評論或評論不是很有幫助。如果你認爲我應該以這樣的方式提問,或者分享我的嘗試,我會感激你的建議。 – Rok