@Zimaell

Как прочесть спарсенный json?

Посылаю с сервера такую строку
[{"id":1,"Name":"Test1"},{"id":2,"Name":"Test2"}]

принимаю на клиенте

using Newtonsoft.Json;
public class StructureTest{
  public int id { get; set; }
  public string Name { get; set; }
  }
...............
  StructureTest DataTest = JsonConvert.DeserializeObject<StructureTest>(ReciveData);

  foreach( StructureTest d in DataTest ){
    Debug.Log("id =>" + d["id"]);
    Debug.Log("name =>" + d["Name"]);
    }
...............

мне выдает ошибку
error CS1579: foreach statement cannot operate on variables of type 'StructureTest' because 'StructureTest' does not contain a public instance definition for 'GetEnumerator'

в сети видел решение данной проблемы таким методом
public class StructureTest : IEnumerable{
  public int id { get; set; }
  public string Name { get; set; }
  public IEnumerator GetEnumerator(){
    yield return this.id;
    yield return this.Name;
    }
  }

но тогда мне такую ошибку выдает
error CS0021: Cannot apply indexing with [] to an expression of type 'StructureTest'

Подскажите как прочесть правильно?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
У вас массив элементов прилетает.
var items = JsonConvert.DeserializeObject<StructureTest[]>(ReciveData);

  foreach( var d in items ){
    Debug.Log($"id : {d.id}");
        Debug.Log($"Name: {d.Name}");
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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