# JSON variable top level

**URL:** <https://discourse.nodered.org/t/json-variable-top-level/17624>\
**Category:** General\
**Created:** [7 November 2019 09:26 UTC](https://discourse.nodered.org/t/json-variable-top-level/17624 "2019-11-07T09:26:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kamsvag](https://avatars.discourse-cdn.com/v4/letter/k/958977/32.png) [@kamsvag](https://discourse.nodered.org/u/kamsvag)\
**Post date:** [7 November 2019 09:26 UTC](https://discourse.nodered.org/t/json-variable-top-level/17624/1 "2019-11-07T09:26:51Z")

</div>

I pull a series of http requests with JSON objects as response. Each Object has the same keys as below but the top name changes for each object.

I'd like to have a switch node to sort on the TAG attribute, all object that has TAG = 10060 should be processed and other object should be dropped. What should my syntax look like? The first value (in this case 520 is unique to each object)

object

- 520: object  
-- accountinfo: array[1]  
--- 0: object  
---- HARDWARE\_ID: "520"  
---- TAG: "9193"  
-- batteries: array[0]  
-- bios: array[1]  
--- 0: object  
---- ASSETTAG: "No Asset Tag"  
---- BDATE: "09/21/2015"  
..

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [7 November 2019 09:30 UTC](https://discourse.nodered.org/t/json-variable-top-level/17624/2 "2019-11-07T09:30:46Z")

</div>

You can use the switch node and use the "has key" option to route using the key.

Can you post your json ?

---

<div class="post-metadata">

**Author:** ![kamsvag](https://avatars.discourse-cdn.com/v4/letter/k/958977/32.png) [@kamsvag](https://discourse.nodered.org/u/kamsvag)\
**Post date:** [7 November 2019 09:35 UTC](https://discourse.nodered.org/t/json-variable-top-level/17624/3 "2019-11-07T09:35:58Z")

</div>

Well, it's kinda large but I can take the first part of it that is interesting.

{"520":{"accountinfo":[{"HARDWARE\_ID":"520","TAG":"9193"}],"batteries":,"bios":[{"ASSETTAG":"No Asset Tag","BDATE":"09/21/2015","BMANUFACTURER":"Phoenix Technologies LTD","BVERSION":"6.00","HARDWARE\_ID":"520","MMANUFACTURER":"Intel Corporation","MMODEL":"440BX Desktop Reference Platform","MSN":"None","SMANUFACTURER":"VMware, Inc.","SMODEL":"VMware Virtual Platform","SSN":"VMware-42 38 55 09 5f d2 7f 13-d2 67 54 e8 3b 0a bf 58","TYPE":"Other"}],"controllers":[{"CAPTION":"Standard floppy disk controller","DESCRIPTION":"Standard floppy disk controller","HARDWARE\_ID":"520","ID":"10619","MANUFACTURER":"(Standard floppy disk controllers)","NAME":"Standard floppy disk controller","TYPE":"Floppy Controller","VERSION":""},

---

<div class="post-metadata">

**Author:** ![kamsvag](https://avatars.discourse-cdn.com/v4/letter/k/958977/32.png) [@kamsvag](https://discourse.nodered.org/u/kamsvag)\
**Post date:** [7 November 2019 09:44 UTC](https://discourse.nodered.org/t/json-variable-top-level/17624/4 "2019-11-07T09:44:33Z")

</div>

Ok, so I found a dirty way of doing it.

Instead of http request node return to JSON I return to UTF-8 string and in the switch node I switch payload contains "TAG":"10060"

Problem solved.
