JSON解析实例
下面是阿里云全国快递查询接口返回的数据格式,顶层对象包括的属性非常多,其属性showapi_res_body是一个嵌套对象,这个嵌套对象本身也有很多属性, 其中的data属性是一个对象数组,这个数组的每个成员包括time和context属性:
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"mailNo": "929601675231",
"update": 1488784549365,
"updateStr": "2017-03-06 15:15:49",
"ret_code": 0,
"flag": true,
"status": 4,
"tel": "95338",
"expSpellName": "shunfeng",
"data": [
{
"time": "2017-03-03 08:42:59",
"context": "已签收,感谢使用顺丰,期待再次为您服务"
},
{
"time": "2017-03-03 07:40:22",
"context": "正在派送途中,请您准备签收(派件人:李正国,电话:18907153726)"
},
{
"time": "2017-03-03 06:08:45",
"context": "快件到达
【武汉硚口区复兴村营业点】"
},
{
"time": "2017-03-03 04:48:26",
"context": "快件在【武汉吴家山集散中心】已装车,准备发往
【武汉硚口区复兴村营业点】"
},
{
"time": "2017-03-03 00:07:27",
"context": "快件到达
【武汉吴家山集散中心】"
},
{
"time": "2017-03-02 22:54:14",
"context": "快件在【武汉总集散中心】已装车,准备发往
【武汉吴家山集散中心】"
},
{
"time": "2017-03-02 22:54:02",
"context": "快件到达
【武汉总集散中心】"
},
{
"time": "2017-03-02 15:00:33",
"context": "快件在【深圳总集散中心】已装车,准备发往
【武汉总集散中心】"
},
{
"time": "2017-03-02 14:47:39",
"context": "快件到达
【深圳总集散中心】"
},
{
"time": "2017-03-02 10:24:37",
"context": "快件在【江门江海集散中心】已装车,准备发往下一站"
},
{
"time": "2017-03-02 05:41:54",
"context": "快件到达
【江门江海集散中心】"
},
{
"time": "2017-03-01 22:31:24",
"context": "快件在【湛江麻章集散中心】已装车,准备发往
【江门江海集散中心】"
},
{
"time": "2017-03-01 22:24:37",
"context": "快件到达
【湛江麻章集散中心】"
},
{
"time": "2017-03-01 20:02:01",
"context": "快件在【湛江市赤坎文保北村营业点】已装车,准备发往
【湛江麻章集散中心】"
},
{
"time": "2017-03-01 19:49:28",
"context": "顺丰速运
已收取快件"
}
],
"expTextName": "顺丰速运"
}
}
首先将上面的JSON数据复制到剪贴版,然后在命令窗口执行下面的代码:
Dim
jo As
JObject = Jobject.Parse(ClipBoard.GetText)
If
jo("showapi_res_body")("data")
IsNot Nothing
Then
For Each
jt As
JToken In
jo("showapi_res_body")("data")
Output.Show(jt("time").ToString
& " | "
& jt("context").ToString)
Next
End
If
可以得到解析结果:
2017-03-03
08:42:59 | 已签收,感谢使用顺丰,期待再次为您服务
2017-03-03 07:40:22 | 正在派送途中,请您准备签收(派件人:李正国,电话:18907153726)
2017-03-03 06:08:45 | 快件到达 【武汉硚口区复兴村营业点】
2017-03-03 04:48:26 | 快件在【武汉吴家山集散中心】已装车,准备发往 【武汉硚口区复兴村营业点】
2017-03-03 00:07:27 | 快件到达 【武汉吴家山集散中心】
2017-03-02 22:54:14 | 快件在【武汉总集散中心】已装车,准备发往 【武汉吴家山集散中心】
2017-03-02 22:54:02 | 快件到达 【武汉总集散中心】
2017-03-02 15:00:33 | 快件在【深圳总集散中心】已装车,准备发往 【武汉总集散中心】
2017-03-02 14:47:39 | 快件到达 【深圳总集散中心】
2017-03-02 10:24:37 | 快件在【江门江海集散中心】已装车,准备发往下一站
2017-03-02 05:41:54 | 快件到达 【江门江海集散中心】
2017-03-01 22:31:24 | 快件在【湛江麻章集散中心】已装车,准备发往 【江门江海集散中心】
2017-03-01 22:24:37 | 快件到达 【湛江麻章集散中心】
2017-03-01 20:02:01 | 快件在【湛江市赤坎文保北村营业点】已装车,准备发往 【湛江麻章集散中心】
2017-03-01 19:49:28 | 顺丰速运 已收取快件
可以看到,用JObject解析JSON数据是异常方便的。