我有一个JSON正在以string格式出现。我需要将它存储在key-pair值或类似的东西中。我使用的是asp.net 2.0,不能像Newtonsoft.Json.dll那样使用第三方DLL。我想最后一个选择是使用regular expression。
有人能帮我吗?
发布于 2008-12-14 19:13:21
如果您转到http://www.json.org/并查看页面的底部--有几十个json库--其中大多数是开源的,我相信它们列出了C#的8个库。如果您不能引用这些库中的一个,我认为您最好的选择是找到一个具有许可许可证的库,并将代码添加到您的项目中。
另一个想法是查看http://www.json.org/的图表、语法和语法,只编写自己的解析器,但是regex是而不是。如果您不知道如何编写解析器,您可以查看一个开源的json库,或者从一些不那么复杂的东西开始,比如一个好的CSV解析器,下面是一篇看起来很好的论文:http://www.boyet.com/Articles/CsvParser.html
发布于 2009-01-01 20:13:37
可以使用JScript在C#中将JSON序列化为键/值对。您需要向您的项目添加一些引用。它们是.NET框架的一部分,您只需将引用添加到项目中即可。你需要:
首先,在你的班级中排名第一的用法:
using Microsoft.JScript;
using Microsoft.JScript.Vsa;然后,执行脚本的引擎需要在“Page”代码后面的某个地方初始化:
VsaEngine Engine = VsaEngine.CreateEngine();然后只需创建此方法并通过传入JSON对象来调用它:
object EvalJScript(string JScript)
{
object result = null;
try
{
result = Microsoft.JScript.Eval.JScriptEvaluate(JScript, Engine);
}
catch (Exception ex)
{
return ex.Message;
}
return result;
}返回的object类型(如果传入JSON )是'JSObject‘。您可以以键/值对的形式访问其值。有关此对象的更多详细信息,请阅读MSDN文档。
下面是一个使用代码的示例:
string json = "({Name:\"Dan\",Occupation:\"Developer\"})";
JSObject o = EvalJScript(json) as JSObject;
string name = o["Name"] as string; // Value of 'name' will be 'Dan'发布于 2008-09-19 15:34:53
你能用JScript.NET吗?
如果是这样的话,那么使用eval()就足够容易了--然后循环遍历返回的对象,并转换成KeyValuePair或其他什么
https://stackoverflow.com/questions/102866
复制相似问题