js JSON对象属性

json对象是是一种用于原生json分析的对象,无法对其进行构造函数调用,用java术语 来说,它相当于能够直接使用类方法的工具类
JSON对象的属性
parse(text[,reviver]);
对参数text这一json字符串分析之后 返回一个javascript对象. reviver将会对每个属性调用回调函数,并将返回值赋为属性值
对于reviver函数
reviver(key,val){}
对javascript返回的对象每一个属性调用函数,注意对对象本身也进行一次调用,没有key值,在最后一次,val是对象本身
如果 reviver 返回一个有效值,则成员值将替换为转换后的值
如果 reviver 返回它接收的相同值,则不修改成员值
如果 reviver 返回 null 或 undefined,则删除成员
见下面代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>json</title>
</head>
<body>
<script>
//json字符串转换为对象
var s=‘{"x":1,"y":2,"a":"ajax"}‘;
////键,值 不可以用单引号包裹 或者属性名不是字符串时   会解析错误
//var s1="{‘x‘:1,‘y‘:2,a:‘ajax‘}";     2处错误     解析出错
var json_s=JSON.parse(s);
for(var i in json_s){
    console.log(i+":"+json_s[i]);
}
var s1=JSON.stringify(json_s);
console.log(s1);
/*
x:1
y:2
a:ajax
{"x":1,"y":2,"a":"ajax"}
*/
//json字符串数组转换为对象的数组
var arr=JSON.parse("[1,3,5]");
var arr1=JSON.parse(‘["a","c","b"]‘);
//键,值 不可以用单引号包裹 否者解析错误
console.log(arr); //[1, 3, 5]
console.log(arr1);//["a", "c", "b"]
console.log(Array.isArray(arr));  //true

//将字符串型的json转换为字符串值
var f=JSON.parse(‘"for"‘);
console.log(f);//for
console.log(typeof f);//string

var s=‘{"x":1,"y":2,"a":3,"p":"php"}‘;
function reviver(key,val){
    if(key){
        if(!isNaN(val)) {
            return val+1;
        }else{return val.toLocaleUpperCase()}
    }else{ //注意此处 是对对象本身的调用 key为空,val是对象本身,一定要返回对象本身
         return val;
    }
}
var sobj2=JSON.parse(s,reviver);
console.log(sobj2); //Object {x: 2, y: 3, a: 4, p: "PHP"}
</script>
</body>
</html>

stringify(value[,replacer[,space]])
将参数value转换为json字符串,replacer会对每个属性调用回调函数,并将返回值赋为属性值,space是输出时的一个缩进字符串

<script>
var students = new Array() ;
students[0] = "jim";
students[1] = "tom";
students[2] = "lily";
var json = JSON.stringify(students,switchUpper);
function switchUpper(key, value) {
    return value.toString().toUpperCase();
}
console.log(json);//"JIM,TOM,LILY"
</script>
时间: 2024-08-27 16:12:01

js JSON对象属性的相关文章

JS json对象(Object)和字符串(String)互转方法

[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 string -> jsonObj JSON.parse(jsonString); jsonObj -> string JSON.stringify(jsArr); 记录一下 原文地址:https://www.cnblogs.com/d-i-p/p/11025164.html

java代码解析json对象获取json对象属性值

说明:解析JSON需要用到 org.json.jar 架包,下载地址:http://download.csdn.net/detail/wtingting5211314/7641749 代码如下: package com.ultrapower.syn.webservice.test; import org.json.JSONArray;import org.json.JSONObject; public class TestJson { /**  * @param args  */ public

js json 对象相互转换

字符串转对象(strJSON代表json字符串)   var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.parse(strJSON): json对象转字符串(obj代表json对象) var str = obj.toJSONString(); var str = JSON.stringify(obj) 运用时候需要除了eval()以外需要json.js包(切记哦) 注意使用 eval 需要这样转换 eva

js 中对象--属性相关操作

查询属性: 可以用 对象.属性 来查询属性和属性方法               或者                    对象[“属性”]  来查询属性和属性方法 演示代码: 1 <script> 2 var obj ={ 3 username:"ziksang", 4 age:22, 5 addr:"北京", 6 say:function(){ 7 return "我的名字叫 "+this.username //解析this,此

js object 对象 属性和方法的使用

1 //object 对象 属性和方法的使用 2 var person = new Object(); 3 4 person.name="张海"; 5 person.age="60"; 6 7 person.say=function(){ 8 console.log(person.name+"他在说话!"+"\t他已经"+person.age+"岁"); 9 }; 10 person.eat=functio

JS获取对象“属性和方法”的方法

平时在写的代码过程中,经常会遇到对对象Object的数据处理.而在对对象的数据处理中,操作最频繁的是“数据引用”.“值的修改”.“获取关键字(属性)”.平时最烦的也是“获取关键字”,经常忘记怎么去获取,这里做一下整理. 既然要"获取关键字",那么得首先有一个对象才行.创建对象的方式很多,我自己惯用的方式有三种: 1.通过原始构造函数 new Object();创建一个对象,然后赋值: var testObj= new Object(); testObj.name = "sha

js json对象操作

参数解析: sourcelist是json对象[{id:1,name:张三}] targetlist是json对象[{roomid:1}] 返回值list是json对象[{id:1,name:张三, testname: "testname" }] 构造list,最外层是数组,内层是单个json的json对象,用var listtemp = { testname: "testname" };来声明一个json对象,其中 testname: "testname

JS获取对象“属性”的方法

1 var testObj= new Object(); 2 testObj.name = "shangguan"; 3 testObj.age= 25; 4 testObj.action = function () { 5 return this.name; 6 } 1.对象内置属性方法:Object.keys():该方法返回一个数组,数组内包括对象内可枚举属性以及方法名称. 1 var keys= Object.keys(testObj); 2 console.log(keys);

artTemplate--使用artTemplate时,由于json对象属性有特殊格式 导致调用报错artTemplate,syntax error,Template Error

我们首先看下面的代码 data = { "siteName" : "西部云谷二期17", "PM10" : "10017", "PM2.5" : 17 }; source = '<li>{{siteName}}</li>' + '<li>{{PM10}}</li>' + '<li>{{[\'PM2.5\']}}</li>'; rende