Javascript(Jquery)

[Javascript] JsonArray 만드는 방법

Jeong Jeon
반응형

1). 첫번째 방법( Array 객체사용)

  • Json Array로 사용할 Array 객체를 만든다. (var jsonArray = new Array();)

  • Json Object(객체)로 사용할 객체를 만든다. (var json = new Object();)

  • .push(); 메소드를 사용하여 Array객체에 담는다.

  • Javascript 객체(Array포함)를 JSON 문자열화 시켜서 사용한다. (JSON.stringify(jsonArray)

 

function makeJsonArray() {

	var jsonArray = new Array();

	var json = new Object();

	let companyId = $("#companyId");

	//가져올값

	$("필요위치").each(function() {

		var name = $(this).find(".name_").val();

		var time = $(this).find(".time_").val();

		var memo = $(this).find(".memo_").val();

			if(!name){

			}else{

				json.name = name;

				json.time = time;

				json.memo = memo;

				jsonArray.push(json);

			}

	});

	var dateListInfo = {

		"companyId" : companyId.val()

		,"JsonObj" : JSON.stringify(jsonArray)

	}

	return dateListInfo;

}

2). 두번째 방법([]객체 리터럴 사용)

  • 방식은 동일

function addInfo(){

	var Digit = [];

	Digit.push(JsonObject); //json Object를 만들어서 Digit 객체에 Push();해준다.

	var DigitParam = JSON.stringify(Digit);

}

 

차이점

 

1). Array객체 사용시

  • new Array(5); 로 공간할당을 하고 객체 생성했을때 empty로 5칸이 채워진다

  • length : 5

  • new Array의 constructor에 하나의 숫자만 넣으면 배열의 크기로 인식, 두 개 이상의 숫자를 전달하면 전달받은 값으로 배열을 초기화하나의 숫자만 넣은 배열을 만들 수가 없다.

let arr = new Array(5);

console.log(arr);

// [empty × 5]

arr.length

// 5

arr[0];

// undefined

arr.toString();

// ',,,,' //크기 5이며, 원소 사이사이에 ,콤마가 생긴다.

=========================================

let arr2 = new Array(1, 2, 3, 4, 5);

console.log(arr2);

// [1, 2, 3, 4, 5]

arr2.length

// 5

arr2[0];

// 1

 

2). [] 객체 리터럴 사용시

  • [] 에 하나의 숫자만 넣어도 1개의 크기로 인식,  하나의 숫자만 넣은 배열을 만들 수 있다.

let arr = [5];

arr.toString();

// '5'

arr.length;

// 1

arr[0];

// 5

번외

  • 크롬에서는 []를 실행하는 것의 속도가 더 빠르다.  (상황에 따라) 전반적으로 []의 실행속도가 빠르다.

반응형