Hallo Micha,
die parseMap Funktion funktioniert nur für einfach Key=Value Werte (key1=value1;key2=value2) und nicht für JSON Werte. In dem Fall kannst du aber die parseJSON Funktion verwenden.
${parseJSON(meta_data).id}
Viele Grüße
Torsten
Ich will doch die _customer_number! Ergebnis muß also 71207 sein
Ich muß es noch präzisieren - natürlich würde Dein Code mit .... ).value} funktionieren. Aber eigentlich liegt der Gesamtstring so vor:
[{"id":49549,"key":"_wc_customer_order_xml_export_suite_is_exported","value":"0"},{"id":49550,"key":"_yoast_wpseo_profile_updated","value":"1592558778"},{"id":49568,"key":"shipping_method","value":"flat_rate:2"},{"id":49569,"key":"billing_title","value":"1"},{"id":49570,"key":"shipping_title","value":"1"},{"id":49571,"key":"wc_last_active","value":"1592956800"},{"id":49573,"key":"_customer_number","value":"71195"},{"id":49575,"key":"update_dt","value":"2020-06-24 12:01:36"}]
Wie bekomme ich hier am einfachsten die _customer_number raus, also die 71195?
Die Zahl steht im value:
${parseJSON(meta_data).value}
Eventuell musst du vorher noch den auf den richtigen key prüfen:
<#if parseJSON(meta_data).key == "_customer_number">${parseJSON(meta_data).value}</#if>
Für den Gesamtstring
<#list parseJSON(result['meta_data']) as meta><#if meta.key == "_customer_number">${meta.value}</#if></#list>
Sehr geil! Ich wäre nie drauf gekommen, daß man das in eine list einlesen muß. Vielen Dank!
spawn
Hallo Team,
ich habe hier folgendes Feld:
meta_data
{"id":49814,"key":"_customer_number","value":"71207"}
Wenn ich jetzt die id haben wollte, würde ich schreiben:
${parseMap(meta_data!,":",",").at("id")}
Ich will aber die customer_number - wie kann ich das machen? Die ist ja in einer key-value-Struktur drin. Ich könnte die Map natürlich mit regex umformatieren und dann erst nach der customer_number durchsuchen, aber das geht doch sicher einfacher?
Gruß Micha