Hello everyone,
I have a large JSON-Item and I can parse it when I know in advance how many “child” levels i have. The issue is when I have a JSONItem result and the number of "Child"s are variable. What is the best way to dive down into the children to figure out the .Count for each JSONItem Array? Also how to know when all new levels have been found.
Hopefully this makes sense Thank you.
I am attaching a large JSONITEM Result.
{"jsonrpc": "2.0", "result": [{"interfaces": {"Management1": {"lastStatusChangeTimestamp": 1413038310.17, "name": "Management1", "duplex": "duplexFull", "autoNegotiate": "success", "burnedInAddress": "08:00:27:6f:72:f8", "mtu": 1500, "hardware": "ethernet", "interfaceStatus": "connected", "bandwidth": 100000000, "forwardingModel": "routed", "lineProtocolStatus": "up", "interfaceCounters": {"outBroadcastPkts": 0, "outUcastPkts": 0, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1413043803.92, "inBroadcastPkts": 0, "outputErrorsDetail": {"deferredTransmissions": 0, "txPause": 0, "collisions": 0, "lateCollisions": 0}, "outOctets": 0, "outDiscards": 0, "inOctets": 0, "inUcastPkts": 0, "inputErrorsDetail": {"runtFrames": 0, "rxPause": 0, "fcsErrors": 0, "alignmentErrors": 0, "giantFrames": 0, "symbolErrors": 0}, "linkStatusChanges": 3, "outMulticastPkts": 0, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "outBitsRate": 0.0, "inPktsRate": 0.0, "updateInterval": 300.0, "outPktsRate": 0.0}, "interfaceAddress": [{"secondaryIpsOrderedList": [], "broadcastAddress": "255.255.255.255", "secondaryIps": {}, "primaryIp": {"maskLen": 24, "address": "192.168.1.11"}}], "physicalAddress": "08:00:27:6f:72:f8", "description": ""}, "Ethernet2": {"lastStatusChangeTimestamp": 1413038312.3, "name": "Ethernet2", "duplex": "duplexFull", "autoNegotiate": "unknown", "burnedInAddress": "08:00:27:dd:2b:2e", "mtu": 9214, "hardware": "ethernet", "interfaceStatus": "connected", "bandwidth": 10000000000, "forwardingModel": "bridged", "lineProtocolStatus": "up", "interfaceCounters": {"outBroadcastPkts": 0, "outUcastPkts": 0, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1413043803.9, "inBroadcastPkts": 0, "outputErrorsDetail": {"deferredTransmissions": 0, "txPause": 0, "collisions": 0, "lateCollisions": 0}, "outOctets": 364478, "outDiscards": 0, "inOctets": 0, "inUcastPkts": 0, "lastClear": 1413038254.86, "inputErrorsDetail": {"runtFrames": 0, "rxPause": 0, "fcsErrors": 0, "alignmentErrors": 0, "giantFrames": 0, "symbolErrors": 0}, "linkStatusChanges": 1, "outMulticastPkts": 2890, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "outBitsRate": 0.0, "inPktsRate": 0.0, "updateInterval": 300.0, "outPktsRate": 0.0}, "interfaceAddress": [], "physicalAddress": "08:00:27:dd:2b:2e", "description": ""}, "Ethernet3": {"lastStatusChangeTimestamp": 1413038312.3, "name": "Ethernet3", "duplex": "duplexFull", "autoNegotiate": "unknown", "burnedInAddress": "08:00:27:d6:ee:47", "mtu": 9214, "hardware": "ethernet", "interfaceStatus": "connected", "bandwidth": 10000000000, "forwardingModel": "bridged", "lineProtocolStatus": "up", "interfaceCounters": {"outBroadcastPkts": 0, "outUcastPkts": 0, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1413043803.91, "inBroadcastPkts": 0, "outputErrorsDetail": {"deferredTransmissions": 0, "txPause": 0, "collisions": 0, "lateCollisions": 0}, "outOctets": 364478, "outDiscards": 0, "inOctets": 0, "inUcastPkts": 0, "inputErrorsDetail": {"runtFrames": 0, "rxPause": 0, "fcsErrors": 0, "alignmentErrors": 0, "giantFrames": 0, "symbolErrors": 0}, "linkStatusChanges": 1, "outMulticastPkts": 2890, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "outBitsRate": 0.0, "inPktsRate": 0.0, "updateInterval": 300.0, "outPktsRate": 0.0}, "interfaceAddress": [], "physicalAddress": "08:00:27:d6:ee:47", "description": ""}, "Ethernet1": {"lastStatusChangeTimestamp": 1413038312.3, "name": "Ethernet1", "duplex": "duplexFull", "autoNegotiate": "unknown", "burnedInAddress": "08:00:27:9f:81:a1", "mtu": 9214, "hardware": "ethernet", "interfaceStatus": "connected", "bandwidth": 10000000000, "forwardingModel": "bridged", "lineProtocolStatus": "up", "interfaceCounters": {"outBroadcastPkts": 0, "outUcastPkts": 0, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1413043803.89, "inBroadcastPkts": 0, "outputErrorsDetail": {"deferredTransmissions": 0, "txPause": 0, "collisions": 0, "lateCollisions": 0}, "outOctets": 364478, "outDiscards": 0, "inOctets": 0, "inUcastPkts": 0, "inputErrorsDetail": {"runtFrames": 0, "rxPause": 0, "fcsErrors": 0, "alignmentErrors": 0, "giantFrames": 0, "symbolErrors": 0}, "linkStatusChanges": 1, "outMulticastPkts": 2890, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "outBitsRate": 0.0, "inPktsRate": 0.0, "updateInterval": 300.0, "outPktsRate": 0.0}, "interfaceAddress": [], "physicalAddress": "08:00:27:9f:81:a1", "description": ""}}}], "id": "Arista eAPI Tool"}