Unity C # Как читать данные Json с http-сервера с помощью утилиты JSON [duplicate]

Вы можете протестировать следующие методы.

  • a Проверьте строку подключения проекта.
  • b Перейдите в сервисы и перезапустите экземпляр SQLServer.
  • c Откройте «Диспетчер конфигурации SQLServer». На левой панели выберите «Конфигурация сети SQLServer» и расширьте его. Выберите «Протоколы для MSSQLServer». На правой панели dbl нажмите «TCP / IP». В «Протоколе» на вкладке «Включено» на «Да». На вкладке «IP-адреса» прокрутите вниз. В «IPAll» установите «TCP-порт» на 1433
  • . d Откройте «Брандмауэр с расширенной безопасностью». В правой tab выберите «Inbound Rules»

. В средней вкладке найдите запись, в которой «локальный порт» равен 1433. Если вы не можете найти ее, попробуйте создать ее со следующими уровнями

  • В меню «Пуск» выберите «Выполнить», введите «WF.msc» и нажмите «ОК»
  • . В левой панели нажмите «Брандмауэр Windows с повышенной безопасностью»
  • На правой панели щелкните правой кнопкой мыши «Входящие правила», а затем нажмите «Новое правило»
  • . В диалоговом окне «Тип правила» выберите «Порт» и нажмите «Далее»
  • В диалоговом окне «Протокол и порты» выберите «TCP» и выберите «Конкретные локальные порты», затем введите номер порта 1433, нажмите «Далее»
  • . В диалоговом окне «Действие» выберите «Разрешить подключение», а затем нажмите «Далее»
  • . В диалоговом окне «Профиль» проверьте домен , Private и Public, затем щелкните Next
  • В диалоговом окне «Имя» введите «SQL 1433 Port» и описание описания для описания. Затем нажмите «Готово»
  1. . Затем на средней вкладке дважды щелкните найденный элемент (экземпляр) или созданный вами элемент «SQL 1433 Port».
  2. Выберите вкладку «Область» в открывшемся диалоговом окне (Свойства SQL Server)
  3. На локальном ПК Перейдите на google.com в свой браузер и выполните поиск «Мой IP».
  4. затем копия вашего «IP»
  5. . Перейдите на удаленный сервер и в диалоговом окне «Свойства SQL Server» на вкладке «Область» в «Удаленный IP-адрес» выберите параметр «Эти IP-адреса» и нажмите кнопку «Добавить»
  6. . В открывшемся диалоговом окне (IP-адрес) выберите «Этот IP-адрес или подсеть» и вставьте свой «IP», нажмите кнопку «ОК».
50
задан Luzan Baral 15 February 2017 в 08:39
поделиться

5 ответов

128
ответ дан Programmer 19 August 2018 в 15:30
поделиться

Как и @Maximiliangerhardt, MiniJson не имеет возможности десериализоваться должным образом. Я использовал JsonFx и работал как шарм. Работает с []

player[] p = JsonReader.Deserialize<player[]>(serviceData);
Debug.Log(p[0].playerId +" "+ p[0].playerLoc+"--"+ p[1].playerId + " " + p[1].playerLoc+"--"+ p[2].playerId + " " + p[2].playerLoc);
0
ответ дан dil33pm 19 August 2018 в 15:30
поделиться

вам нужно добавить класс [System.Serializable] в PlayerItem, например:

using System;
[System.Serializable]
public class PlayerItem   {
    public string playerId;
    public string playerLoc;
    public string playerNick;
}
1
ответ дан Garf365 19 August 2018 в 15:30
поделиться

Предположим, что у вас есть 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;
}

И затем просто проанализировать следующим образом ...

var myObject = JsonUtility.FromJson<QrCodeResult>("{\"result\":" + jsonString.ToString() + "}");

Теперь вы можете изменить JSON / CODE в соответствии с вашими потребностями. https://docs.unity3d.com/Manual/JSONSerialization.html

4
ответ дан H. Pauwelyn 19 August 2018 в 15:30
поделиться
  • 1
    Это действительно работает очень хорошо, он работает с классом вроде Symbol, который также не является массивом. – Gennon 14 May 2018 в 14:46
  • 2
    – Jean-Michaël Celerier 6 October 2018 в 13:04

Не обрезайте [], и все должно быть в порядке. [] идентифицируют массив JSON, который именно то, что вам нужно, чтобы выполнять итерацию его элементов.

0
ответ дан Thomas Hilbert 19 August 2018 в 15:30
поделиться
  • 1
    Я попытался с помощью скобок. По-прежнему такая же ошибка. – dil33pm 27 March 2016 в 04:00
Другие вопросы по тегам:

Похожие вопросы: