首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON字符串在asp.net 2.0中列出或其他可用格式

JSON字符串在asp.net 2.0中列出或其他可用格式
EN

Stack Overflow用户
提问于 2008-09-19 15:28:45
回答 4查看 2.8K关注 0票数 1

我有一个JSON正在以string格式出现。我需要将它存储在key-pair值或类似的东西中。我使用的是asp.net 2.0,不能像Newtonsoft.Json.dll那样使用第三方DLL。我想最后一个选择是使用regular expression

有人能帮我吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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

票数 4
EN

Stack Overflow用户

发布于 2009-01-01 20:13:37

可以使用JScript在C#中将JSON序列化为键/值对。您需要向您的项目添加一些引用。它们是.NET框架的一部分,您只需将引用添加到项目中即可。你需要:

  • Microsoft.JSript
  • Microsoft.Vsa

首先,在你的班级中排名第一的用法:

代码语言:javascript
复制
using Microsoft.JScript;
using Microsoft.JScript.Vsa;

然后,执行脚本的引擎需要在“Page”代码后面的某个地方初始化:

代码语言:javascript
复制
VsaEngine Engine = VsaEngine.CreateEngine();

然后只需创建此方法并通过传入JSON对象来调用它:

代码语言:javascript
复制
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文档

下面是一个使用代码的示例:

代码语言:javascript
复制
string json = "({Name:\"Dan\",Occupation:\"Developer\"})";

JSObject o = EvalJScript(json) as JSObject;

string name = o["Name"] as string; // Value of 'name' will be 'Dan'
票数 3
EN

Stack Overflow用户

发布于 2008-09-19 15:34:53

你能用JScript.NET吗?

如果是这样的话,那么使用eval()就足够容易了--然后循环遍历返回的对象,并转换成KeyValuePair或其他什么

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/102866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档