首页 > 解决方案 > 坚持以正确的方式解析 JSON

问题描述

我已经搜索并尝试了很多东西,但我无法得到以下信息:

{"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(@"\", ""); ;

标签: c#jsonparsingjson.net

解决方案


好的,您用来反序列化 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);

推荐阅读