Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- TextMeshPro
- 유니티
- Android
- Unity
- Environment Reflections
- TextMeshPro 한글
- 듀얼쇼크4
- 역직렬화 오류
- Rewired
- unityhub
- RenderStreaming
- Depth camera
- 구글플레이스토어
- 반응형레이아웃
- apk
- web3D
- 에셋번들
- 랜더스트리밍
- android app bundle
- DS4
- Specular Highlights
- muilt controller
- AR
- webview
- 커스텀쉐이더
- WebGL
- untiy
- Unity VisualStudio
- kinect v2
- AssetBundle
Archives
- Today
- Total
기억저장고
C# Unity Json 역직렬화 오류 본문
*상황
-소켓 TCP통신
- Json 데이터 주고받음
- 받은 Json데이터 역직렬화 시 오류 생성
*오류내용
Newtonsoft.Json.JsonReaderException: Additional text encountered after finished reading JSON content: {. Path '', line 1, position 102.
*오류 코드(이전코드)
public static T DeserializedToClass<T>(string msg) where T : class
{
try
{
var myObj = JsonConvert.DeserializeObject<T>(msg));
return myObj;
}
catch (System.Exception e)
{
Debug.Log("오류:" + msg);
Debug.Log($"[메세지 DeserializedToClass 오류 ] : " + e);
return null;
}
}
*해결방법
1. JsonFinialCheck(string msg )함수 작성
2. JsonFinialCheck의 반환값으로 역직렬화 진행
[코드]
public static T DeserializedToClass<T>(string msg) where T : class
{
try
{
//들어오는 msg값을 JsonFinialCheck(string msg)를 거쳐서 문제해결 후 직렬화 진행
var myObj = JsonConvert.DeserializeObject<T>(JsonFinialCheck(msg));
return myObj;
}
catch (System.Exception e)
{
Debug.Log("오류:" + msg);
Debug.Log($"[메세지 DeserializedToClass 오류 ] : " + e);
return null;
}
}
//역직렬화 문제해결해주는 함수
private static string JsonFinialCheck(string msg)
{
string final = string.Empty;
char[] arr = msg.ToCharArray();
bool bln = true;
foreach (char item in arr)
{
if (bln)
{
if (item == '}')
{
final += item.ToString();
break;
}
else
{
final += item.ToString();
}
}
}
return final;
}
'Unity' 카테고리의 다른 글
unity 안드로이드 WebView 개발 툴 (0) | 2022.08.03 |
---|---|
유니티 안드로이드 Gradle 오류 발생 시 (0) | 2022.08.01 |
Unity WebGL 반응형레이아웃 만들기 (0) | 2022.02.18 |
[Unity TextMeshPro] 폰트 교체 스크립트 없이 현지화(한국어,일본어,영어) (0) | 2022.02.17 |
Unity "Rewired"에셋으로 컨트롤러 2개이상 연결하기 (0) | 2022.02.09 |
Comments