给定下面从API返回的JSON,在Ruby中从(且仅从)包含"detail_type": "SubTotalLineDetail"
的数组元素中检索value
元素的最佳方法是什么?
问题在于,小计行项目的位置并不固定为总是倒数第二个行项目,它通常位于最后一个位置,但是,如示例所示,这可能会发生变化,因此我尝试的i.sub_total = invoice[:line_items].last[:amount]
并不总是有效。
[
{
"id": "1",
"line_num": 1,
"description": "Custom Design",
"amount": "300.0",
"detail_type": "SalesItemLineDetail",
"sales_line_item_detail": {
"item_ref": {
"value": "4",
"name": "Design",
"type": null
},
"class_ref": null,
"unit_price": "75.0",
"rate_percent": null,
"price_level_ref": null,
"quantity": "4.0",
"tax_code_ref": {
"value": "NON",
"name": null,
"type": null
},
"service_date": null,
"tax_inclusive_amount": null
},
"sub_total_line_detail": null,
"payment_line_detail": null,
"discount_line_detail": null,
"group_line_detail": null,
"description_line_detail": null
},
{
"id": null,
"line_num": null,
"description": null,
"amount": "1005.0",
"detail_type": "SubTotalLineDetail",
"sales_line_item_detail": null,
"sub_total_line_detail": {
"item_ref": null,
"class_ref": null,
"unit_price": null,
"quantity": null,
"tax_code_ref": null
},
"payment_line_detail": null,
"discount_line_detail": null,
"group_line_detail": null,
"description_line_detail": null
},
{
"id": null,
"line_num": null,
"description": null,
"amount": "50.25",
"detail_type": "DiscountLineDetail",
"sales_line_item_detail": null,
"sub_total_line_detail": null,
"payment_line_detail": null,
"discount_line_detail": {
"discount_ref": null,
"percent_based": true,
"discount_percent": "5.0",
"discount_account_ref": {
"value": "86",
"name": "Discounts given",
"type": null
},
"class_ref": null,
"tax_code_ref": null
},
"group_line_detail": null,
"description_line_detail": null
}
]
1条答案
按热度按时间wz1wpwve1#
如果你想求和