Я хочу Parse Json с использованием Mini Json и сохранить его в списке для манипуляции - PullRequest
0 голосов
/ 23 января 2020
    {
    "players": [
    {
    "wins": 8,
    "losses": 1,
    "score": 264.5,
    "pro": false,
    "name": "albert"
    },
    {
    "wins": 7,
    "losses": 1,
    "score": 214.5,
    "pro": false,
    "name": "mike"
    }

Я хочу разобрать его, и я попытался, как показано ниже:

    Dictionary<string,object> data=MiniJSON.Json.Deserialize(json) as Dictionary<string,object>;
    List<object> list=(List<object>)(data["Person"]);
    //data["players"] as List<object>
    foreach(var item in data)
    {
     // data as Dictionary<string,object>
    Dictionary<string,object> dict=(Dictionary<string,object>)(data);
    }

Я пытался, но я не знаю, правильно это или нет, и я не смог продолжить, пожалуйста, Потратьте минуту, чтобы помочь мне

1 Ответ

0 голосов
/ 24 января 2020

1) Ваш Json недействителен: вы можете использовать этот сайт для проверки json. Вы должны добавить ']' и '}'. Таким образом, вы json должны выглядеть так:

{
    "players": 
    [
        {
            "wins": 8,
            "losses": 1,
            "score": 264.5,
            "pro": false,
            "name": "albert"
        },
        {
            "wins": 7,
            "losses": 1,
            "score": 214.5,
            "pro": false,
            "name": "mike"
        }
    ]
}

2) Вы можете использовать Unity JsonUtility. Создать класс Player

[Serializable]
public class Player
{
    int wins;
    int losses;
    int score;
    bool pro;
    string name;
}

Затем создайте контейнер проигрывателя

public class PlayerContainer
{
    List<Player> players = new List<Player>();
}

Теперь вы можете использовать JsonUtility для сериализации / десериализации ваших данных

public class PlayersController
{
    private void Start()
    {
        string json = "your json";
        var players = JsonUtility.FromJson<PlayerContainer>(json);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...