Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk bersiri dan deserialize JSON dan JSON Arrays dalam Perpaduan menggunakan JSONUTILITY?
Serialization Jsonutility dan Desertation JSON dan JSON Arrays digunakan dalam Perpaduan.
SoalanJawab
Bermula dari versi Unity 5.3.3, disarankan untuk menggunakan JSONUTILITY untuk memproses data JSON kerana ia mempunyai prestasi tinggi dan penggunaan mudah.
Serialization:
output: permodalan:
<code class="language-csharp">Player playerInstance = new Player(); playerInstance.playerId = "8484239823"; playerInstance.playerLoc = "Powai"; playerInstance.playerNick = "Random Nick"; string playerToJson = JsonUtility.ToJson(playerInstance);</code>
<.> 2. Serialization dan derivatif array JSON:
<code class="language-json">{"playerId":"8484239823","playerLoc":"Powai","playerNick":"Random Nick"}</code>
Untuk mengendalikan array JSON, anda boleh menggunakan kelas tambahan dari gudang github ini:
kelas tambahan -jsonhelper.cs<code class="language-csharp">string jsonString = "{\"playerId\":\"8484239823\",\"playerLoc\":\"Powai\",\"playerNick\":\"Random Nick\"}"; Player player = JsonUtility.FromJson<Player>(jsonString);</code>
Serialization:
output: permodalan:
<code class="language-csharp">public static class JsonHelper { public static T[] FromJson<T>(string json) { Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(json); return wrapper.Items; } public static string ToJson<T>(T[] array) { Wrapper<T> wrapper = new Wrapper<T>(); wrapper.Items = array; return JsonUtility.ToJson(wrapper); } private class Wrapper<T> { public T[] Items; } }</code>
langkah berjaga -jaga lain
untuk JSON dengan atribut digital atau digital:<code class="language-csharp">Player[] players = new Player[2]; players[0] = new Player { playerId = "8484239823", playerLoc = "Powai", playerNick = "Random Nick" }; players[1] = new Player { playerId = "512343283", playerLoc = "User2", playerNick = "Rand Nick 2" }; string playersToJson = JsonHelper.ToJson(players);</code>Anda boleh mempertimbangkan menggunakan SimpleJson dalam Wiki Perpaduan.
Kegagalan JSONUTILITY:
<code class="language-json">{"Items":[{"playerId":"8484239823","playerLoc":"Powai","playerNick":"Random Nick"},{"playerId":"512343283","playerLoc":"User2","playerNick":"Rand Nick 2"}]}</code>, dan ahli tidak ditakrifkan sebagai atribut (padam
).
<code class="language-csharp">string jsonString = "{\"Items\":[{\"playerId\":\"8484239823\",\"playerLoc\":\"Powai\",\"playerNick\":\"Random Nick\"},{\"playerId\":\"512343283\",\"playerLoc\":\"User2\",\"playerNick\":\"Rand Nick 2\"}]}"; Player[] players = JsonHelper.FromJson<Player>(jsonString);</code>
Atas ialah kandungan terperinci Bagaimana untuk bersiri dan deserialize JSON dan JSON Arrays dalam Perpaduan menggunakan JSONUTILITY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!