소프트웨어 엔지니어/일반

JSON, XML 이란? 언제 왜 쓰는건가! 무결성?

shroomie 2024. 8. 5. 08:53

JSON, XML 은 데이터를 구조화하고 교환하는데 널리(?) 사용되는 포멧이다. 

이건 웹페이지나 이런글 보면 쓰임새가 나와.

 

그럼 구조화 , 교환은 무엇이지?

1. Data 구조화 

2. Data 교환

3. Data 무결성

 

1. Data 구조화 : 데이터를 특정한 형식과 규칙에 맞게 조직하고 정리 하는것 

e.g. #1 JSON 

JSON  키 - 쌍 값으로 데이터 표현

{

   "name": "kim",

   "old" : 25

}

e.g. #2 XML

XML 규칙이 있는데 (XML 스키마) ... 직접 사람이 작성하기는 어려움. 

<Person>

  <name>kim</name>

  <old>25</old>

</Person>

 

2. Data 교환: 데이터를 상대측과 교환하기 위함.

   즉 특정한 구조(JSON, XML 등) 를 가진 데이터를 보내면 상대방에서도 특정한 구조를 알고 있어서 (서로 JSON 으로 보낸다고 약속하면) 어떤내용을 보냈는지 확인 가능함. 

 

3. Data 무결성: 데이터가 올바르게 작성되었냐에 대한것 (?) 

   JSON 은 키:값의 형식으로 정의되어 있어서 무결성 검증이 바로 안되지만, 

   XML 의 경우 스키마가 있어서 무결성 검증이 쉬움. 

   예를 들어서 JSON 의 경우 "name":25 라고 해도 잘못된 것이라 검증이 안되지만, 

   XML 의 경우 아래와 같은 스키마를 사용할 경우 name 에 숫자가 아닌 스트링을 넣어야 하므로 무결성 검증이 됨. 

xsd_string = '''
...................................................
            <xs:sequence>
                <xs:element name="Name" type="xs:string" />
                <xs:element name="Age" type="xs:int" />
            </xs:sequence>
......................................................
'''

 

 

깊은 내용 전문적인 블로그 참고 하시고, 이 블로그의 목적은 그냥 '아 그게 그거구나' 개념잡는 정도로만..

'소프트웨어 엔지니어 > 일반' 카테고리의 다른 글

[소프트웨어 엔지니어] git ? 버전관리  (0) 2024.08.16
Rest API, Open API?  (0) 2024.08.15
아직도 C, C++ 쓴다고?  (0) 2024.08.14
프로그램 디렉토리 구조?  (1) 2024.08.09
ASCII , UTF-8, UNICODE 란?  (0) 2024.08.07