json字符串去除转义方法是什么?字符串与JSON对象有啥区别?

项目中一个接口需要给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如何使用?

javabean属性有哪些?javabean属性讲解

java中为什么要定义接口?Java接口能实现什么功能?


推荐内容