2020年1月8日 星期三

Javascript JSON - Object 轉換

JSON - Object 轉換

Object to JSON

//Object to JSON 
var obj={
      a:2,
      b:1,
    }

var str=JSON.stringify(obj);

JSON to object

//JSON to object

var obj={
      a:2,
      b:1,
    }
var obj2=JSON.parse(obj)

JSON to function object

//JSON to function object
function Foo(obj) // CONSTRUCTOR CAN BE OVERLOADED WITH AN OBJECT
{
    this.a = 3;
    this.b = 2;
    this.test = function() {
     return this.a*this.b;
    };
    // IF AN OBJECT WAS PASSED THEN INITIALISE PROPERTIES FROM THAT OBJECT
    for (var prop in obj) {
     this[prop] = obj[prop];
    }
}

//var fooObj = new Foo();
//alert(fooObj.test() ); //Prints 6

// INITIALISE A NEW FOO AND PASS THE PARSED JSON OBJECT TO IT
var fooJSON = new Foo(JSON.parse('{"a":4,"b":3}'));

alert(fooJSON.test() ); //Prints 12

Object assign (IE及小於45以下 android chrome不支援)

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

//returnedTarget跟target是同一個物件

returnedTarget.a=0;
console.log(target);
// expected output: Object { a: 0, b: 4, c: 5 }

沒有留言:

張貼留言