Get multi value from json

I have this json structure and need to get from this json specific data as below:

{
“id”:“1111111”,
“parentId”:“428660”,
“configuration”:[
{
“id”:3,
“value”:“Messing”,
“name”:{
“DE”:“Material”,
“EN”:“Material”,
“FR”:“Matière”
},
“dataType”:“String”,
“detailsGroup”:“productInformation”,
“position”:30000100,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:false,
“colorPicker”:false,
“rangeList”:false
},
“unit”:null,
“sortOrder”:null
},
{
“id”:23,
“value”:“chrom”,
“name”:{
“DE”:“Farbe”,
“EN”:“Colour”,
“FR”:“Coloris”
},
“dataType”:“String”,
“detailsGroup”:“productInformation”,
“position”:30000200,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:true
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:false,
“colorPicker”:true,
“rangeList”:false
},
“unit”:null,
“sortOrder”:null
},
{
“id”:20,
“value”:168,
“name”:{
“DE”:“Höhe”,
“EN”:“Height”,
“FR”:“Hauteur”
},
“dataType”:“Double”,
“detailsGroup”:“productInformation”,
“position”:40001200,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:true,
“colorPicker”:false,
“rangeList”:false
},
“unit”:“Millimeter”,
“sortOrder”:null
},
{
“id”:10,
“value”:122,
“name”:{
“DE”:“Ausladung”,
“EN”:“Projection”,
“FR”:“Projection”
},
“dataType”:“Double”,
“detailsGroup”:“productInformation”,
“position”:40002400,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:true,
“colorPicker”:false,
“rangeList”:false
},
“unit”:“Millimeter”,
“sortOrder”:null
},
{
“id”:25,
“value”:“Hochdruck”,
“name”:{
“DE”:“Anschlussart”,
“EN”:“Connection type”,
“FR”:“Type de raccordement”
},
“dataType”:“String”,
“detailsGroup”:“productInformation”,
“position”:50005500,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:false,
“colorPicker”:false,
“rangeList”:false
},
“unit”:null,
“sortOrder”:null
},
{
“id”:301,
“value”:“mit Zugstangen-Ablaufgarnitur”,
“name”:{
“DE”:“Ablaufgarnitur”,
“EN”:“Waste set”,
“FR”:“Garniture de vidage”
},
“dataType”:“String”,
“detailsGroup”:“productInformation”,
“position”:50006900,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:false,
“colorPicker”:false,
“rangeList”:false
},
“unit”:null,
“numBuckets”:3,
“popularitySum”:1035,
“buckets”:[
{
“val”:“mit Zugstangen-Ablaufgarnitur”,
“count”:1,
“deliveryTime”:0,
“popularity”:853,
“popularityPercentage”:82,
“match”:true,
“seo”:null
},
{
“val”:“mit versenkbarer Kette”,
“count”:1,
“deliveryTime”:4,
“popularity”:1,
“popularityPercentage”:0,
“match”:true,
“seo”:null
},
{
“val”:“ohne Ablaufgarnitur”,
“count”:1,
“deliveryTime”:0,
“popularity”:181,
“popularityPercentage”:17,
“match”:true,
“seo”:null
}
],
“sortOrder”:null
},
{
“id”:374,
“value”:5.7,
“name”:{
“DE”:“max. Wasserverbrauch der Armatur bei 3 bar”,
“EN”:“max. water consumption of the fitting at 3 bar”,
“FR”:“Débit d’eau max. de la robinetterie à 3 bars”
},
“dataType”:“Double”,
“detailsGroup”:“productInformation”,
“position”:50008200,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:true,
“colorPicker”:false,
“rangeList”:false
},
“unit”:“Liter pro Minute”,
“sortOrder”:null
},
{
“id”:305,
“value”:“für 1 Hahnloch”,
“name”:{
“DE”:“Hahnlochanzahl”,
“EN”:“Quantity of Tap Holes”,
“FR”:“Nombre de trous de robinetterie”
},
“dataType”:“String”,
“detailsGroup”:“productInformation”,
“position”:80001100,
“productTop”:{
“isConfigurable”:true,
“isVisible”:true,
“colorPicker”:false
},
“productTile”:{
“isConfigurable”:false
},
“filterType”:{
“list”:true,
“range”:false,
“colorPicker”:false,
“rangeList”:false
},
“unit”:null,
“sortOrder”:null
},
{
“name”:{
“DE”:“Artikelnummer”,
“EN”:“Artikelnummer”,
“FR”:“Artikelnummer”
},
“id”:“model”,
“value”:[
“23325000”
],
“numBuckets”:3,
“buckets”:[
{
“deliveryTime”:0,
“id”:428660,
“model”:“23325000”
},
{
“deliveryTime”:0,
“id”:428662,
“model”:“23327000”
},
{
“deliveryTime”:4,
“id”:428661,
“model”:“23326000”
}
]
},
{
“id”:“notice”,
“name”:{
“DE”:“Hinweis”,
“EN”:“Hinweis”,
“FR”:“Hinweis”
},
“value”:""
}
]
}

Till now i was able to grab for id=3 Material value : Messing and for id = 23 color but how to get all value in id=301 in buckets
mit Zugstangen-Ablaufgarnitur,
mit versenkbarer Kette,
ohne Ablaufgarnitur

Please can you help me how can i do this?

Attached is my concept :Combi_value.xaml (31.4 KB)

@uiNew - you can try below -

  • add json.net package to your project dependency
  • create variables like jsonMain & jsonBuckets type as JObject
  • jsonOut = JObject.Parse(aboveJSONString)
  • do a for each jObject(‘configuration’) - it will return all id’s - 3,23,20,…
    To get Buckets val list
  • jsonBuckets = jsonMain(‘buckets’)
  • do a for each to jsonBuckets variable
  • item(‘val’) – this will return ( mit Zugstangen-Ablaufgarnitur, mit versenkbarer Kette,…)