我从网络功能获得此结果。
["767,20150221122715,121053103,14573465,1,7,302",
"767,20150221122756,121053165,14573375,1,0,302",
"767,20150221122840,121053498,14572841,1,12,124"]
通常Json有PropertyName:Value 但是这有一个字符串数组,每个字符串都有以逗号分隔的值。我知道每个价值位置意味着什么。
我尝试使用JsonConvert.DeserializeObject
但无法使其正常工作。
string deserializedProduct = JsonConvert.DeserializeObject<string>(json);
//and
List<string> deserializedProduct = JsonConvert.DeserializeObject<string>(json);
我可以解析字符串进行拆分,但我想知道是否有一种简单的方法。
答案 0 :(得分:3)
要回答您的问题,根据http://json.org/,它是一个有效的JSON值(字符串数组)。
根据您应该使用的this stack overflow question对其进行反序列化
JsonConvert.DeserializeObject<List<string>>(json);
转换它
答案 1 :(得分:2)
DeserializeObject<T>()
方法的泛型参数是您希望反序列化器反序列化的类型。您的json字符串表示字符串数组,因此您应该反序列化为字符串集合(通常为List<string>
)。
var values = JsonConvert.DeserializeObject<List<string>>(json);
但是,没有必要指定类型。有一个返回object
的非泛型重载。它将(在这种情况下)返回具有适当值的JArray
实例。
object values = JsonConvert.Deserialize(json);
但是,如果可能的话,最好返回更具体的类型。为了使其更加通用,您可以将JToken
用于泛型类型,或者更具体地说,JArray
。
var values = JsonConvert.Deserialize<JToken>(json); // good
var values = JsonConvert.Deserialize<JArray>(json); // better in this case