遍历JObject中的Json数据(以百度云人脸识别api返回的JSON数据为例)
因为最近在玩树莓派3+windows10 IOT core用到了百度云的人脸识别接口,官方很贴心的给出了C#版的SDK,但是它是基于. net Framework 编写的。然而我所学习的UWP应用是运行在 . net core 上的。 因此我不得不从api开始自力更生。虽然比直接使用SDK要麻烦,但是也因此收获了许多。期间,尤其是对接口返回的Json数据的解析让我苦恼了许久。现在我把过程写下,作为笔记,也希望可以帮到一部分跟我遭遇相似的小伙伴。
因此我就以百度云人脸识别接口返回的json数据来做例子来演示如何获取Json中的数据
人脸注册
当向人脸注册api提交注册信息后,api会视结果返回两类字符串——成功或者不成功。
解析该Json结果时,主要的问题是:你不确定注册是否会成功,因此在解析时也就不能确定究竟该解析哪一类。我所想到的最简单粗暴的方式是:一上来就尝试获取”error_code” 以及” error_msg”的值。如果没有获取到,则会出现异常,因此用try_catch包裹住,在try块里面写注册失败的处理方法,在catch块里面写上注册成功的相应处理方法即可。
// 注册成功
{
"log_id": 73473737,
}
// 注册发生错误
{
"error_code": 216616,
"log_id": 674786177,
"error_msg": "image exist"
}
C#代码
JObject result ;
try
{
int errorCode = 0;
string errorMsg = "";
errorMsg = result["error_msg"].ToString();
errorCode = Convert.ToInt32(result["error_code"].ToString());
RegistDetailsBlock.Text = "失败!";
switch (errorCo