Застрял на разборе JSON правильный путь - PullRequest
0 голосов
/ 01 апреля 2020

Я искал и пробовал много вещей, но я не могу получить следующее:

{"Plaats" : ["{"isEmpty":true,"isWhite":false,"isBlack":false}"]}

Это мой текущий ответ, но мне нужно, чтобы он был в этом формате:

{"Plaats" : [{"isEmpty":true,"isWhite":false,"isBlack":false}]}

Так что без лишних кавычек в принципе.

Вот мой C# код:

public class Vaag
{
    public bool isEmpty { get; set; }
    public bool isWhite { get; set; }
    public bool isBlack { get; set; }
}

var tempObj = JsonConvert.DeserializeObject(_Context.JsonBord);
dynamic JsonObj = tempObj;
var testt = JsonConvert.SerializeObject(new Vaag() { isEmpty = true, isWhite = false, isBlack = false });
JsonObj[0][0] = testt;
string result = Newtonsoft.Json.JsonConvert.SerializeObject(JsonObj);
return result.Replace(@"\", ""); ;

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Как исправить json в json (как-то так):

public class Vaag
{
    public string Plaats { get; set; }
    [JsonIgnore]
    public List<VaagFlags> PlaatsFlags => JsonConvert.DeserializeObject<VaagFlags[]>(Plaats);
}

public class VaagFlags
{
    public bool isEmpty { get; set; }
    public bool isWhite { get; set; }
    public bool isBlack { get; set; }
}

var vaag = JsonConvert.DeserializeObject<Vaag>(jsonString);

0 голосов
/ 01 апреля 2020

Хорошо, класс, который вы используете для десериализации вашего JSON, должен выглядеть как ваш JSON. Пример ниже.

public class VaagCollection
{
    public List<Vaag> Plaats { get; set }

}
public class Vaag
{
    public bool isEmpty { get; set; }
    public bool isWhite { get; set; }
    public bool isBlack { get; set; }
}

var tempObj = JsonConvert.DeserializeObject<VaagCollection>(_Context.JsonBord);


tempObj.Plaats.Add(new Vaag() { isEmpty = true, isWhite = false, isBlack = false });
string result = Newtonsoft.Json.JsonConvert.SerializeObject(tempObj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...