본문 바로가기

Programming

Godot - 고닷을 이용한 json 데이터 컨버팅 ( godot json to object )

개발환경 : MAC

버전 : godot 3.3.2

----

----

코딩을 하다보면 반드시 마주치는 과정 중의 하나인

json 데이터를 오브젝트 형식으로 변경하기 입니다.

특히 서버 데이터를 json 형식으로 받았을 때 주로 사용하게 될텐데요

그때 사용하는 라이브러리들이 많은데 저는 godot 에서 사용하는 json 이 아닌

Newtonsoft 라는 꽤 잘 알려진 라이브러리를 사용하겠습니다.

우선 프로젝트에 Newtonsoft를 설정해야합니다.

1. 라이브러리 추가

프로젝트명.csproj (projectname.csproj) 파일을 찾아서 열어 보면

<Project Sdk="Godot.NET.Sdk/3.3.0">
  .....
</Project>

이런 모습일 텐데요

<Project Sdk="Godot.NET.Sdk/3.3.0">
  ....
    <ItemGroup>
        <PackageReference Include="Newtonsoft.Json" Version="11.0.2"/>
    </ItemGroup>
</Project>

이렇게 추가해 주시면 됩니다.

2. Restore

라이브러리만 추가하고 끝나면 편할테지만

nuget restore 를 한번 해줘야합니다.

콘솔창에서 프로젝트 폴더로 들어간뒤

project path % nuget restore 를 입력해 줍니다.

이와 같이 보이면 성공입니다.

3. 사용법

class httpTestObject {
    public int id {get;set;}
    public String name {get;set;}
}

byte[] body <- 통신결과값으로 받은 json 데이터 (json data from server)

String jsonStr = Encoding.UTF8.GetString(body);
httpTestObject dataResult = Newtonsoft.Json.JsonConvert.DeserializeObject<httpTestObject>(jsonStr);

이런식으로 사용하시면 됩니다.

Godot(고닷), MoveToward 함수와 유도탄 구현(guided missile)
Godot(고닷), Scene change, reload etc with Unity
Godot(고닷), error Parent node is busy setting up children (addchild)
Godot - Target Sdk 33
Godot - Label click event
Godot - 고닷을 이용한 json 데이터 컨버팅 ( godot json to object )