在silverlight中访问和加载JSON数组到.net字符串[]中
本文关键字:net 字符串 数组 JSON silverlight 访问 加载 | 更新日期: 2023-09-27 18:10:26
如果我有一个简单的JSON对象,写在html文档空间下的脚本标签(如下所示),我如何轻松地将它加载到Silverlight?我需要在。net中将下面的两个数组中的每一个加载到它们自己的String[]中,并且它不需要动态地加载Player对象中的数组,它将始终只是这两个。
谢谢! !
Player = {
Names: ["name 1","name 2","name 3"],
Files: ["file 1","file 2","file 3"]
}
伪代码:
String[] Names = Page.Javascript.Player.Names;
String[] Files = Page.Javascript.Player.Files;
试试这个regex:
Player[^;,N]+Names ?: ?('[[^']]*'])[^F]+Files ?: ?('[[^']]*'])
这个正则表达式将匹配上面的字符串。结果组1和2将包含您的json数组与名称和文件'的字符串。
下一步就是在json解析器或另一个正则表达式中删除这两个组,然后你就有了你的字符串。
如果你有更多的Json解析,你可以使用。net Json助手在System.Json dll
var jsonObj = (JsonObject)JsonArray.Parse("{ Names: ['name 1','name 2','name 3'], Files: ['file 1','file 2','file 3']}");
// You need to cast JsonValue in string
string[] names = (jsonObj["Names"] as JsonArray).Select(j => (string)j).ToArray();
string[] files = (jsonObj["Files"] as JsonArray).Select(j => (string)j).ToArray();
你可以使用DataContractJsonSerializer
来转换Json对象…
查看更多http://msdn.microsoft.com/fr-fr/library/cc197957(v=vs.95).aspx