项目中一个接口需要给java那边返回数据,java那边格式定好了,数据本身就是json字符串,但是跟java那边格式不一致,所以需要去掉转义字符;那json字符串去除转义方法是什么?下面来我们就来给大家讲解一下。
源数据:
{ "IsSuccess": true , "OutMessage": "[{\"batchNo\":\"n034531\",\"pdtKind\":null,\"vmBactCode\":\"550201\",\"corpNationCode\":\"40\",\"doseCode\":\"0.5\",\"maxSpecUseAmount\":0.0,\"numberValue\":10.0,\"unitCode\":\"支\",\"validateDate\":null,\"specifications\":10.0}]" }
对数据进行处理,如下:
HttpContext.Current.Response.ContentType = "text/plain"; //不加此行会中文乱码 string returnStr = Newtonsoft.Json.JsonConvert.SerializeObject(DealAPPPostHelper.Get(json, empId, corpId, deviceType, deviceId)); //获取数据源 returnStr = returnStr.Replace("\\", "") .Replace("\"[", "") .Replace("]\"", ""); Context.Response.Write(returnStr);
结果:
{ "IsSuccess": true , "OutMessage": { "batchNo": "n034531" , "pdtKind": null , "vmBactCode": "550201" , "corpNationCode": "40" , "doseCode": "0.5" , "maxSpecUseAmount": 0.0 , "numberValue": 10.0 , "unitCode": "支" , "validateDate": null , "specifications": 10.0 } }
字符串与JSON对象有啥区别?
JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样。
JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他。
JSON对象:
var person={"name":"zhangsan","sex":"男","age":"24"}//json对象 alert(person.name);//zhangsan alert(typeof person);//object
person就是json对象。可以用perosn.name这种方式进行属性的调用。第三行代码就是看person的类型,为object类型。
JSON字符串:
var person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串 alert(person);//{"name":"zhangsan","sex":"男","age":"24"} alert(typeof person);//string
person就是一个json字符串,之所以叫json字符串,因为字符串的格式符合json的格式,第三行代码也匹配其中的类型为string。
互相转换:
“JSON字符串"转化为"JSON对象”:
//使用$.parseJSON(str) var str = '{ "name": "John" }'; var obj = jQuery.parseJSON(str) alert("1" + obj.name); //ps:此种方式仅支持标准格式:var str='{ "name": "John" }'; //JSON.parse(str) var str = '{ "name": "mady", "age": "24" }'; var obj = JSON.parse(str); alert(obj.name); //ps:此种方式仅支持标准格式:var str='{ "name": "John" }'; //使用eval('('+str+')'); var str = '{ "name": "John" }'; var obj = eval('(' + str + ')'); alert(obj.name); var str2 = "{ 'name': 'John' }"; var obj2 = eval('(' + str2 + ')'); alert(obj2.name); var str3 = "{ name: 'John' }"; var obj3 = eval('(' + str3 + ')'); alert(obj3.name);
“JSON对象"转化为"JSON字符串”:
//一:使用全局方法JSON.stringify()与toJSONString() var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 alert(last);
现在大家应该知道字符串与JSON对象的区别了吧,其实JSON对象是直接可以使用JQuery操作的格式,但是JSON字符串仅仅只是一个字符串。最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。
推荐阅读:
java如何用return返回数组?java return如何使用?