json与string

json与string是有区别的,虽然可以用string形式表达json


1)json 如下为json 打印出来的信息(转为string),其中data的内容为string,

{
"code":"1",
"msg":"连接失败,请稍后重试",
"data":"{\"id\": \"373\",\"bianhao\": \"10018311-0030-01\",\"dtu_id\": \"12838\",\"etor_species_id\": \"14\",\"project_id\": \"67\",\"organize_id\": \"8\",\"dizhi_code\": \"320584\",\"build_name\": \"汾湖康力大道888号\",\"build_number\": \"试验塔观光梯\",\"build_etorindex\": \"T1\",\"dizhi_detail\": \"江苏省苏州市吴江市汾湖康力大道888号试验塔观光梯T1\",\"zuobiao\": \"31.04828,120.86143\",\"zhuban_code\": \"\",\"zhuban_version\": \"1-AMCM3T45\\/2-AMCM4S01\u0000\",\"zhuban_version_time\": \"2017\\/3\\/17 15:11:24\",\"floorcount\": \"21\",\"weibao_user\": \"孙卫东\",\"weibao_userphone\": \"13862184098\",\"weibao_manager\": \"王新荣\",\"weibao_managerphone\": \"17715378060\",\"weibao_interval\": \"0\",\"weibao_type\": \"\",\"nianjian_time\": \"\",\"use_place\": \"\",\"brand_id\": \"康力\",\"etor_model\": \"KLH\",\"product_model\": \"载重2000KG;速度0.00m\\/s\",\"create_time\": \"2016\\/3\\/29 16:49:33\",\"create_userid\": \"1\",\"field_1\": \"1\",\"field_2\": \"30133205842012110006\"}"
} 
 

很多时候如果写成这样string也是可以的,

var jsonStr=String.Format("\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":{2}", code, msg, data)

但这2者是有区别的,不经意间就搞混了。


问题1:

接口返回参数json类型,结果返回了json格式的string,导致处理时需要把string先转json然后才能处理。


问题2:

在处理ticketlist表单的翻页功能时,在某些页无法显示,


问题3:

某些设备在实时运行状态下无法显示正确。


问题2和问题3的原因是相同的,都是用string代替了json返回,而且在大部分情况下work的,但有些设备/情况就不行,不知何故(??) 

是通过返回的Context.Response.Write(data);


建议:用json嵌套时尽量不要用string,用原始的json对象进行嵌入,把最终的对象json返回给需要的地方,而不是转过的string对象。





猜你喜欢

转载自blog.csdn.net/henry_wu001/article/details/80238758