-1

我已经使用 WWW 将列表从 PHP 导入到 Unity。WWW.text 包含以下内容:

[
    {
        "playerId": "1",
        "playerLoc": "Pwoods"
    },
    {
        "playerId": "2",
        "playerLoc": "Shelter"
    },
    {
        "playerId": "3",
        "playerLoc": "Cemetery"
    }
]

努力使用 Boomlagoon.JSON,但只使用了 1 个对象。我发现我需要在这个列表中反序列化它们。我需要的只是从每个JSON对象中获取数据。如何做到这一点C#

public class player
{
    public string playerId { get; set; }
    public string playerLoc { get; set; }
    public string playerNick { get; set; }
}

仅返回第一个 KeyValuePair。

IDictionary<string, object> players = Json.Deserialize(serviceData) as IDictionary<string, object>;

foreach (KeyValuePair<string, object> kvp in players)
{
    Debug.Log(string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value));
}
4

3 回答 3

0
List<Player> playerList = new List<Player>();

foreach(Player player in playerArray)
{

Player playerObject = new Player()


playerObject.playerId = player.playerId ;
 playerObject.playerLoc = player.playerLoc;
layerList.Add(playerObject)
}

JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(playerList);
于 2019-09-04T13:54:07.807 回答
0

假设你得到的 JSON 看起来像这样 [ { "type": "qrcode", "symbol": [ { "seq": 0, "data": "HelloWorld9887725216", "error": null } ] } ] 分析 JSON使 JSON 模型看起来像这样是有意义的

[System.Serializable]
public class QrCodeResult
{
    public QRCodeData[] result;
}

[System.Serializable]
public class Symbol
{
    public int seq;
    public string data;
    public string error;
}

[System.Serializable]
public class QRCodeData
{
    public string type;
    public Symbol[] symbol;
}
于 2019-09-04T13:49:06.307 回答
0

球员等级:

public class Player
{
    public string playerId { get; set; }
    public string playerLoc { get; set; }
}

您可以使用以下方法进行反序列化:

List<Player> players = JsonConvert.DeserializeObject<List<Player>>(data);
于 2019-09-04T13:51:36.133 回答