请教下各位
{\"log_id\":7616486206799412622,\"results\":[{\"location\":{\"height\":543,\"left\":1312,\"top\":644,\"width\":669},\"name\":\"1234\",\"score\":1}]}\n"}
{\"log_id\":1587313827561704838,\"results\":[]}\n"}如果第二条返回值的话就报错误代码:
JavaScriptSerializer js = new JavaScriptSerializer(); //实例化一个能够序列化数据的类
ToJsonMy3 list = js.Deserialize<ToJsonMy3>(resulte); //将json数据转化为对象类型并赋值给list
string log_id = list.log_id;
List<results> orderdetail = list.results;
string name = orderdetail[0].name;
string score = orderdetail[0].score; public struct ToJsonMy3
{
public string log_id { get; set; }
public List<results> results;//数组处理
// public results results;
} public struct results
{
public string name { get; set; }
public string score { get; set; }
public List<location> location;//数组处理 }
public struct location
{
public string top { get; set; }
public string left { get; set; }
public string width { get; set; }
public string height { get; set; } }谢谢各位 该如何处理
{\"log_id\":7616486206799412622,\"results\":[{\"location\":{\"height\":543,\"left\":1312,\"top\":644,\"width\":669},\"name\":\"1234\",\"score\":1}]}\n"}
{\"log_id\":1587313827561704838,\"results\":[]}\n"}如果第二条返回值的话就报错误代码:
JavaScriptSerializer js = new JavaScriptSerializer(); //实例化一个能够序列化数据的类
ToJsonMy3 list = js.Deserialize<ToJsonMy3>(resulte); //将json数据转化为对象类型并赋值给list
string log_id = list.log_id;
List<results> orderdetail = list.results;
string name = orderdetail[0].name;
string score = orderdetail[0].score; public struct ToJsonMy3
{
public string log_id { get; set; }
public List<results> results;//数组处理
// public results results;
} public struct results
{
public string name { get; set; }
public string score { get; set; }
public List<location> location;//数组处理 }
public struct location
{
public string top { get; set; }
public string left { get; set; }
public string width { get; set; }
public string height { get; set; } }谢谢各位 该如何处理
{"log_id":7616486206799412622,"results":[{"location":{"height":543,"left":1312,"top":644,"width":669},"name":"1234","score":1}]}]
1: {"log_id":1594288546244956330,"results":[]}2: {"log_id":30078127253539397,"results":[{"location":{"height":543,"left":1312,"top":644,"width":669},"name":"cat","score":0.9970706701278687}]}返回参数
字段 是否必选 类型 说明
log_id 是 number 唯一的log id,用于问题定位
results 否 array(object) 识别结果数组
+name 否 string 分类名称
+score 否 number 置信度
+location 否
++left 否 number 检测到的目标主体区域到图片左边界的距离
++top 否 number 检测到的目标主体区域到图片上边界的距离
++width 否 number 检测到的目标主体区域的宽度
++height 否 number 检测到的目标主体区域的高度results 空的话报错
而是第二种实际里面是没有数据的
List<results> orderdetail = list.results;
string name = orderdetail[0].name;
string score = orderdetail[0].score;
这个orderdetail 里面没有元素 自然不能orderdetail[0]
string score = orderdetail[0].score;
这个orderdetail 里面没有元素 自然不能orderdetail[0]那怎么处理呢?判断增加?没有元素的话 NAME=""
当然报错了都不是json 数据 格式!。。 json 是键值对 模式的自己好好检查下数据!!!!!!!!!你的数据都不是json 类型的 string 数据。 就是一个 string 数据 、、!!!!!!!!检查数据
请问下怎么将字符串json格式数据转换成对象
{"log_id":30078127253539397,"results":[{"location":{"height":543,"left":1312,"top":644,"width":669},"name":"cat","score":0.9970706701278687}]}
获取到log_id、height、left、top、width、name、score的值
可以的。这个。如果你不想定义实体类,你用 dynamic 类型直接反序列化也可以的。
if (orderdetail.Count > 0)
{
string name = orderdetail[0].name;
string score = orderdetail[0].score;
}
string score = orderdetail.Count > 0 ? orderdetail[0].score : "";