我在Windows Phone 8中解析JSON时遇到问题。我有一个类似
的json字符串{"ids":{"internal":[{"type":"ABCD","id":"7BCDCA0676CC8E2F5","time":19376,"asV":"AP_33160"}
,{"type":"ADFP","id":"A2D3D22A6458BC2B","time":19376,"asV":"AP_420TETA"}
]
},
"err":6000,
"msg":"No Msg",
"timeTL":87600
}
我希望拥有以下值:
string strIds= "{"internal":[{"type":"ABCD","id":"7BCDCA0676CC8E2F5","time":19376,"asV":"AP_33160"},{"type":"ADFP","id":"A2D3D22A6458BC2B","time":19376,"asV":"AP_420TETA"}]}" ;
int err= 6000;
string message= "msg";
int timeTL=87600;
我可以使用JsonValue在Windows 8上获得所需的结果,但Windows Phone 8不支持。主要问题是“内部”的内容不固定,我想保存“完整”的完整值ids“变成一个字符串。
谢谢!
答案 0 :(得分:0)
您可以使用 Newtonsoft.Json 解析Json数据。这个库可以在Nuget.org上找到。 将此项添加到yuor项目,方法是转到Tools-> Libiya Package Manager - > Packae管理器控制台 并键入 Install-Package Newtonsoft.Json
按如下方式创建课程。通过使用json字符串和http://json2csharp.com/
public class RootObject
{
//public Ids ids { get; set; }
public object ids { get; set; } //use type object for id
public int err { get; set; }
public string msg { get; set; }
public int timeTL { get; set; }
}
results = reader.ReadToEnd();
then using newtonsoft.json
RootObject root = JsonConvert.DeserializeObject<RootObject>(results, new JsonSerializerSettings
{
NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
TypeNameHandling = TypeNameHandling.All,
TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full
});
您可以使用
获取Id的价值string str= root.ids.Tostring();
希望这有效