programing

JSON 어레이를 사용하는 것과 JSON 개체를 사용하는 것의 차이점은 무엇입니까?

iphone6s 2023. 3. 18. 08:21
반응형

JSON 어레이를 사용하는 것과 JSON 개체를 사용하는 것의 차이점은 무엇입니까?

JSON 어레이를 사용하는 경우의 차이점과 장점은 무엇입니까?

{
   thing:[
     { },
     { }
   ]
}

대 JSON 객체:

{
   thing:{
     { },
     { }
   }
}

의 차이점array그리고object그것이다

오브젝트는 다음 명령을 사용합니다.key그리고.value예를 들어 다음과 같습니다.

person.age = 15;

이 경우,keyvalue는 변수이며 다음과 같이 액세스할 수 있습니다.

var key = "age";
alert(person[key]);

어레이는 정수[1] 인덱스를 사용하여 값을 가져옵니다.

player[1].score += 1000;

[1] 예, JavaScript에서는 정수 인덱스가 실제로 뒤에서 문자열로 변환됩니다.그건 무시해.특히 JSON을 생각할 때 어레이가 정수 값을 취하는 경우를 생각해 보십시오.

오브젝트 - 키와 값, 어레이 - 정수당신은 언제 이것을 사용합니까?

어레이와 오브젝트는 각각 a/an과 has a라고 생각합니다.'과일'을 예로 들어보자.

과일 배열의 모든 품목은 과일 종류입니다.

array fruit : [orange, mango, banana]

어레이에는 오브젝트, 문자열, 숫자, 어레이를 포함할 수 있지만 오브젝트와 어레이만 취급합니다.

array fruit : [orange:[], mango:{}, banana:{}]

오렌지도 배열입니다.이는 오렌지에 들어가는 모든 아이템이 오렌지의 일종임을 의미합니다. 예를 들어 bitter_orange, mangarine, sweet_orange.

과일 객체의 경우, 그 안에 있는 모든 항목은 과일의 속성입니다.그래서 그 과일은 을 가지고 있다.

object fruit :{seed:{}, endocarp:{},flesh:{}}

이는 또한 시드 오브젝트 내의 모든 것이 시드(color)의 속성이어야 한다는 것을 의미합니다.

JSON 어레이는 개체의 집합을 나타냅니다.JS에서는 다음과 같은 수집 함수의 집합이 있습니다.slice,pop,push. 오브젝트에는 더 많은 원시 데이터가 있습니다.

표시된 두 번째 형식은 실제로는 유효하지 않습니다. "thing" 개체의 각 개체에는 액세스하기 위한 어떤 종류 또는 속성 이름이 필요하기 때문입니다.

질문에 대답하려면 첫 번째 경우 다음과 같은 어레이 액세스를 사용하여 "물건"의 개체에 액세스해야 한다는 점이 다릅니다.obj.thing[0]또는obj.thing[1]두 번째 경우, 적절한 재산 신고서가 있으면 다음과 같이 접근합니다.obj.thing.property

일반적으로 JSON 배열에서는 동일한 항목의 그룹을 저장하는 데 사용되는 반면 개체는 단일 항목에 대한 서로 다른 속성의 그룹을 포함하는 데 사용됩니다.

JSON은 주로 javascript 객체를 문자열로 직렬화할 수 있는 언어입니다.따라서 JSON 문자열을 역직렬화하면 javascript 객체 구조를 얻을 수 있습니다.json이 object1이라는 오브젝트를 object100에 저장하는 오브젝트로 역직렬화하면 매우 불편해집니다.대부분의 역직렬화기는 문자열을 사용 중인 언어의 실제 객체 구조로 변환할 수 있도록 알려진 객체와 알려진 객체의 배열을 가지고 있어야 합니다.또한 이것은 객체 지향 디자인의 철학이 당신에게 대답할 수 있는 질문입니다.

는 JSON을 사용하여 할 수 .toJSON:

function kryptonite(key)
   {
   var replacement = {};
   for(var __ in this)
     {
     if(__ in alias)
       replacement[__] = this[__]
     }

   return replacement;
   }

var alias = {"Clark":"","phone":""};
var contact = {
               "Clark":"Kent",
               "Kal El":"Superman",
               "phone":"555-7777"
              }

contact.toJSON = kryptonite;

var foo = JSON.stringify(contact)

는 JSON을 사용하여 할 수 .map:

 var contact = {
               "Clark":"Kent",
               "Kal El":"Superman",
               "phone":"555-7777",
               "home":[{"present":"Metropolis"},{"past":"Krypton"},{"future":"Phantom Zone"}]

              }

 var filter = {"past":"","future":""}

 function junction(value, index)
   {
   for (var __ in filter) if(value[__]) return value[__]
   } 

var island = contact.home.map(junction);

언급URL : https://stackoverflow.com/questions/12288820/what-are-the-differences-between-using-json-arrays-vs-json-objects

반응형