1

私はフォーマットJSONで来ているものを持っていstringます。key-pair値などに保存する必要があります。私は使用しasp.net 2.0ていますが、サードパーティDLLのような使用できませんNewtonsoft.Json.dll。最後のオプションはを使用することになると思いますregular expression

誰でもこれで私を助けてもらえますか?

4

4 に答える 4

4

http://www.json.org/にアクセスしてページの下部を見ると、多数の json ライブラリがあり、そのほとんどがオープン ソースです。C# 用に 8 つリストされていると思います。これらのライブラリのいずれかを参照できない場合は、ライセンスが許可されているライブラリを見つけて、コードをプロジェクトに追加するのが最善の策だと思います。

もう 1 つのアイデアは、 http: //www.json.org/ で図、文法、および構文を見て、独自のパーサーを作成することですが、正規表現はそれを行う方法ではありません。パーサーの書き方がわからない場合は、オープン ソースの json ライブラリの 1 つを参照するか、優れた CSV パーサーのような単純なものから始めることができます。 /Articles/CsvParser.html

于 2008-12-14T19:13:21.827 に答える
3

It is possible to serialize JSON using JScript in C# into key/value pairs. You need to add a few references to your project. They're part of the .NET framework, you just need to add the references to your project. You'll need:

  • Microsoft.JSript
  • Microsoft.Vsa

First, the usings at the top of your class:

using Microsoft.JScript;
using Microsoft.JScript.Vsa;

Then the Engine that will execute the script needs to be initialized somewhere in your 'Page' code-behind:

VsaEngine Engine = VsaEngine.CreateEngine();

Then you just create this method and call it by passing in your JSON object:

object EvalJScript(string JScript)
{
    object result = null;
    try
    {
        result = Microsoft.JScript.Eval.JScriptEvaluate(JScript, Engine);
    }
    catch (Exception ex)
    {
        return ex.Message;
    }

    return result;
}

The type of object returned (if JSON is passed in) is a 'JSObject'. You can access its values as key/value pairs. Read the MSDN documentation for more details on this object.

Here's an example of using the code:

string json = "({Name:\"Dan\",Occupation:\"Developer\"})";

JSObject o = EvalJScript(json) as JSObject;

string name = o["Name"] as string; // Value of 'name' will be 'Dan'
于 2009-01-01T20:13:37.133 に答える
0

JScript.NET を使用できますか?

もしそうなら、 eval() で十分に簡単なはずです-返されたオブジェクトをループして、KeyValuePair などに変換します

于 2008-09-19T15:34:53.563 に答える
-1

コード ビハインド言語として jscript.net を使用する必要がありますが、サイトの他のページは c# のままでも問題ありません。

前のコメントで述べたように、セキュリティの側面とリスクを認識する必要があります。解析している JSON を信頼する場合にのみ eval を使用してください。

于 2008-09-19T16:43:49.713 に答える