{
"serialNumber":
{
"number":"123443344334",
},
"receivedTime":"10/1/2015 6:06:22 PM",
"sessionId":"123456",
"dataPoint":
[
{"storedTime":"2015-10-01T11:45:23.000Z",
"groupID":"123",
"groupIndex":1,
"vtmIndex":0,
"dataType":"CONDITION",
"data":
{
"conditionType":"TYPEA",
"timeStamp":"2015-10-01T11:45:23.000Z"
}
},
{"storedTime":"2015-10-01T11:45:23.000Z",
"groupID":"123",
"groupIndex":2,
"vtmIndex":1,
"dataType":"LOCATION",
"data":
{
"latitude":22.23,
"longitude":-43.12,
}
}
]
}
我正在使用杰克逊,并试图弄清楚如何解析这个特殊情况......我的大多数其他工作都是直截了当的,但需要第二眼看这个。
在上面的JSON中,我需要找到其子键" dataType" =" CONDITION",然后返回conditionType数据元素。此处未显示的其他数据元素也具有" CONDITION"的dataType,但不包含conditionType字段。
答案 0 :(得分:1)
使用该数据结构,看起来除了遍历dataPoint
数组之外别无选择,直到找到dataType
为CONDITION
0
的对象(除非你是绝对的)知道这个对象总是在某个特定的索引位置 - 比如你的例子中的data
。找到该对象后,只需查看它的conditionType
属性即可找到其中包含$ip = (get-WmiObject Win32_NetworkAdapterConfiguration|Where {$_.Ipaddress.length -gt 1}).ipaddress.split('.')
switch ($ip)
{
{$ip[2] -eq 0} { $val = 3; } #match anything in 192.168.0.1-255
{$ip[3] -in 1..100} { $val = 1; }
{$ip[3] -in 101..200} { $val = 4; }
{$ip[3] -in 201..255} { $val = 5; }
default { exit }
}
$val
的嵌套对象。