嗨在這裏我有一大堆產品與不同的json對象。我必須根據價格獲得產品名稱。如果價格不爲零或不爲零,則獲得該產品。根據價格設置產品名稱,如果價格是零或-1或零忽略這些產品
0
A
回答
1
下面是腳本:
下面的腳本會遍歷通的JSON和提取產品名稱在有價格的地方也放入數據放入一張名爲productPriceMap
的地圖中,以後可以使用。
def productPriceMap = [:]
def jsonParsed = new groovy.json.JsonSlurper().parseText(json)
jsonParsed.products.collect{ product ->
product.productRatePlans.collect { ratePlan ->
ratePlan.productRatePlanCharges.collect { charge ->
charge.productRatePlanChargeTiers.collect{ tier ->
if (tier.price) {
log.info "${tier.price} - ${product.name}"
productPriceMap[product.name] = tier.price
}
}
}
}
}
log.info "Product and price map\n$productPriceMap"
您可以快速地嘗試這個網上Demo
我相信這可以縮短/更groovified。但這是我能夠得到的。
0
你正在做的是過濾某個列表。所以它會給你一些結果,但必須存儲在某個地方以進一步使用它。
喜歡這個
def toList(priceNullCheck){
def filteredList = [priceNullCheck].flatten().findAll { it != null}
log.info filteredList
}
否則,您可以返回[priceNullCheck].flatten().findAll { it != null}
直接
修訂
import javax.xml.transform.Transformer
import javax.xml.transform.TransformerFactory
import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def response = groovyUtils.getXmlHolder("TestRequest#Response")
def collectResult = []
use (groovy.xml.dom.DOMCategory) {
for(node in response.getDomNodes("//*:products//*:e")) {
def eachNodeAsXml = groovyUtils.getXmlHolder(nodeToString(node))
String priceTagValue = eachNodeAsXml.getNodeValue("//*:price")
float price = priceTagValue?Float.parseFloat(priceTagValue):0
if(price>0)
collectResult.add(eachNodeAsXml.getNodeValue("/*:name"))
}
}
println collectResult
def nodeToString(def node)
{
StringWriter writer = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(node), new StreamResult(writer));
return writer.toString();
}
+0
但是我沒有得到我期待的東西,首先獲取所有的價格值一個字符串,然後將其轉換爲列表,然後我必須檢查價格不等於零,或者小於0,然後null.then必須設置產品名稱 – Prathyusha
+0
哦!我以爲你只有該片段的問題:D無論如何,請嘗試發佈代碼。 –
相關問題
- 1. 隱藏產品價格如果爲零
- 2. 以上是shopify中產品價格的產品名稱
- 3. Magento在銷售價格發生時將產品正常價格設置爲零
- 4. 顯示產品的價格,如果是會員或特定產品
- 5. 根據產品圖像顯示產品價格
- 6. Opencart按價格或按產品選項篩選產品
- 7. 設置WooCommerce車項目價格爲零,如果該產品已經買
- 8. Rails:產品設置爲零
- 9. SQL CASE產品價格
- 10. 產品價格表事件?
- 11. Magento負面產品價格
- 12. 產品價格Prestashop 1.7
- 13. Magento更新產品價格
- 14. 按價格過濾產品
- 15. 價格檢查產品如果不可用獲取類別價格其他產品價格 - 需要mysql查詢
- 16. 在Magento中按價格列出產品但在最後零價格
- 17. 結束時顯示價格爲零的產品
- 18. 產品價格在配置產品中未更新
- 19. Magento的配置的產品價格 - 使用超級產品
- 20. 如何根據每個產品的單排產品獲得不同的價格
- 21. Magento可配置產品價格
- 22. 更改可配置產品的價格
- 23. Magento簡單的產品自定義選項價格作爲產品價格
- 24. Magento在應用產品目錄價格規則前的產品價格
- 25. 添加其他產品的價格與mangento基礎產品價格
- 26. 加入產品表,價格表,產品具有n個有效的價格
- 27. 產品價格是在前端
- 28. Magento可配置產品價格計算,根據所選屬性
- 29. 過濾零售產品名稱產品折扣表productLookup ax 2012
- 30. 如果產品名稱爲零,請使用其他名稱?
你發佈的內容不是有效的json。你介意發佈有效的json嗎? – Rao
@Rao發佈了有效的一個。 – Prathyusha
Prathyusha,價格124.99的產品名稱是什麼? – Rao