json字符串和json对象的区别,转化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenbetter1996/article/details/82770527

json对象是可以直接在js/jq中操作的

如 val jsonObject = {"name":"lin"};        通过jsonObject.name可以获取到“lin"这个属性值(”lin“是字符串属性) 

json对象在js中直接打印会显示 [object object]

json字符串就仅仅是一个字符串,只是它满足json格式的要求,可以直接调用API转成json对象

如 val jsonString = "{\"name\":\"lin\"}";   或者 "{name:'lin'}” 或者 "{'name':'lin'}" 或者 “{name:\"lin\"}"啥的都是满足json字符串格式要求。但是不能jsonString.name

注:json官方使用的是双引号",  不是单引号 '

JS中

json对象转成json字符串的方法是: JSON.stringify(jsonObject);

扫描二维码关注公众号,回复: 3292471 查看本文章

json字符串转成json对象的方法是: JSON.parse(josnString);

Java中

JSONObject jsonObject = JSONObject.fomObject("jsonString);

String jsonString = jsonObject.toString();

附上具体测试(JS) ,   在开发者工具面板

代码:

function register() {
    var t1 = {"name":"lin"};
    console.log("var t1 = {\"name\":\"lin\"};");
    console.log("# t1是json对象 # ");
    console.log("@t1: " + t1);
    console.log("@t1.val: " + t1.val);
    console.log("@t1.name: " + t1.name);
    console.log("@JSON.stringify(t1): " + JSON.stringify(t1));    // 转为json字符串
    console.log("---------------------------------------------------------------------------------");
    var t2 = "{\"name\":\"lin\"}";   // json官方是用双引号
    console.log("var t2 = \"{\"name\":\"lin\"}\";");
    console.log(" # t2是json字符串 #");
    console.log("@t2: " + t2);     
    console.log("@t2.val: " + t2.val);   // udefined
    console.log("@t2.name: " + t2.name);  // undefined
    console.log("@JSON.parse(t2): " + JSON.parse(t2));    // 转为json对象
    console.log("@JSON.parse(t2).name: " + JSON.parse(t2).name);
}

console输出:

register.js:44 var t1 = {"name":"lin"};
register.js:45 # t1是json对象 # 
register.js:46 @t1: [object Object]
register.js:47 @t1.val: undefined
register.js:48 @t1.name: lin
register.js:49 @JSON.stringify(t1): {"name":"lin"}
register.js:50 ---------------------------------------------------------------------------------
register.js:52 var t2 = "{"name":"lin"}";
register.js:53  # t2是json字符串 #
register.js:54 @t2: {"name":"lin"}
register.js:55 @t2.val: undefined
register.js:56 @t2.name: undefined
register.js:57 @JSON.parse(t2): [object Object]
register.js:58 @JSON.parse(t2).name: lin

猜你喜欢

转载自blog.csdn.net/chenbetter1996/article/details/82770527