[CS] Json
728x90

Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷 / 데이터 교환 형식

 

 

Json에서 Key의 값은 중복이 되어서는 안된다.

 

{
  "name": "John Doe",
  "age": 30,
  "email": "johndoe@example.com"
}

 

JSON 규격에서 중복 키는 허용되지 않으며

중복된 키가 필요한 경우 중첩 객체를 사용하거나 다른 키를사용해야한다!

 

 

JSON은 프로그래밍 언어와 운영체제에 대해 독립적인 성향이 있다.

아래는 게임 개발할 때 서버에서 업적을 관리했던 JSON 데이터 중 하나이다.

 

{  "TUTORIAL": [
    {
      "num": 0,
      "name": "AT_TT",
      "description": "AT_TTD",
      "requirement": {
        "type": "tutorial",
        "target": [
          "MainTutorial",
          "FarmTutorial"
        ]
      },
      "reward": {
        "type": "recipe",
        "target": [
          "RECIPE1",
          "RECIPE2"
        ]
      }
    }
  ]
  }

 

 

Java 및 Javascript에서는 JsonObject로 변환을 해주었는데

이전에 게임을 만들 때 사용한 C#에서는 Dictionary로 바로 변환이 가능하였다.

이는 JSON이 독립적이기에 가능한 일이다!

 

사용했던 경험으로는 JSON의 데이터 스키마를 잘 맞춰준다면 이만한 데이터 관리가 없다.. 매우 편하다!

 

C# JSON TO DICTIONARY

 

JAVA DATA TO JSONOBJECT

 

직렬화 ( Serialization )

직렬화는 데이터를 JSON 형식으로 변환하거나 다른 형식에서 JSON 형식으로 변환하는 프로세스이다!

데이터를 직렬화하면 해당 데이터를 문자열로 변환하여 전송, 저장 또는 공유할 수 있게된다!

 

역직렬화 ( Deserialization )

역직렬화는 직렬화와 반대이다!

JSON 형식의 데이터를 다른 데이터 형식으로 변환하는 프로세스를 의미한다!

JSON 문자열을 역직렬화하여 다시 데[이터 객체로 변환할 수 있다.

 

 

직렬화와 역직렬화는 일련의 데이터를 읽고 내보내는 과정이라고 생각한다.

'Cs ( Computer Science )' 카테고리의 다른 글

[CS] XML  (0) 2023.11.10