使用在字符串中序列化的JSON对象反序列化JSON String

时间:2017-08-23 07:14:07

标签: c# json json.net json-deserialization

我正在尝试反序列化JSON字符串

string filter = @"[{""property"":""Student_PK"",""value"":""1""}]";

我的第一步是

JsonConvert.DeserializeObject<Dictionary<string, string>>(filter)

哪个不起作用。但是,我添加了一个类来反序列化该对象。

public class filterObject
{
    [JsonProperty("property")]
    string property {get; set;}

    [JsonProperty("value")]
    Object value { get; set; }
}

运行以下内容也无法正常工作

JsonConvert.DeserializeObject<filterObject>(filter)

在这种情况下,我无法控制过滤器字符串,因为这是由Sencha生成的。

我如何反序列化此JSON字符串以及容纳在单个字符串中返回的多个JSON对象(属性值组合)。

2 个答案:

答案 0 :(得分:1)

JSON数组格式的数据,所以使用Object类的List序列化Json,试试这个,

rows = sc.parallelize([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])

mat = RowMatrix(rows)

sims = mat.columnSimilarity()

答案 1 :(得分:0)

你的根是一个对象数组,而不是一个对象。

尝试JsonConvert.DeserializeObject<Dictionary<string, string>[]>(filter)

或者使用第二种方法应该是JsonConvert.DeserializeObject<filterObject[]>(filter)