서버에 저장된 데이터의 자료형

데이터의 자료형 지우기 (언마샬 작업)
데이터의 자료형을 지우는 방법은 이곳을 참고해주세요.

뒤끝에 저장된 모든 데이터는 string 형태입니다.
이 때 해당 데이터의 자료형이 무엇인지 인식할 수 있도록 모든 데이터는 자료형을 키 값으로 가지고 있습니다

구분자료형설명
BOOLboolboolean 형태의 데이터가 이에 해당됩니다.
Nnumbersint, float, double 등 모든 숫자형 데이터는 이에 해당됩니다.
Sstringstring 형태의 데이터가 이에 해당됩니다.
Llistlist 형태의 데이터가 이에 해당됩니다.
Mmapmap, dictionary 형태의 데이터가 이에 해당됩니다.
NULLnull값이 존재하지 않는 경우 이에 해당됩니다.

리턴되는 json value의 자료형 알아내기

Jsondata의 key에 해당하는 자료형을 리턴해주는 메소드

public static String WhichDataTypeIsIt(JsonData data, String key)
{
    if (data.Keys.Contains(key))
    {
        if (data[key].Keys.Contains("S")) // string
            return "S";
        else if (data[key].Keys.Contains("N")) // number
            return "N";
        else if (data[key].Keys.Contains("M")) // map
            return "M";
        else if (data[key].Keys.Contains("L")) // list
            return "L";
        else if(data[key].Keys.Contains("BOOL")) // boolean
            return "BOOL";
        else if(data[key].Keys.Contains("NULL")) // null
            return "NULL";
        else
            return null;
    }
    else
    {
        return null;
    }
}

list 형태의 JsonData의 n번째 값에 해당하는 자료형을 리턴해주는 메소드

public static String WhichDataTypeIsIt(JsonData data, int n)
{
    if (data.IsArray)
    {
        if (data[n].Keys.Contains("S")) // string
            return "S";
        else if (data[n].Keys.Contains("N")) // number
            return "N";
        else if (data[n].Keys.Contains("M")) // map
            return "M";
        else if (data[n].Keys.Contains("L")) // list
            return "L";
        else if(data[n].Keys.Contains("BOOL")) // boolean
            return "BOOL";
        else if(data[n].Keys.Contains("NULL")) // null
            return "NULL";
        else
            return null;
    }
    else
    {
        return null;
    }
}