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对象。