私はフォーマットJSON
で来ているものを持っていstring
ます。key-pair
値などに保存する必要があります。私は使用しasp.net 2.0
ていますが、サードパーティDLL
のような使用できませんNewtonsoft.Json.dll
。最後のオプションはを使用することになると思いますregular expression
。
誰でもこれで私を助けてもらえますか?
http://www.json.org/にアクセスしてページの下部を見ると、多数の json ライブラリがあり、そのほとんどがオープン ソースです。C# 用に 8 つリストされていると思います。これらのライブラリのいずれかを参照できない場合は、ライセンスが許可されているライブラリを見つけて、コードをプロジェクトに追加するのが最善の策だと思います。
もう 1 つのアイデアは、 http: //www.json.org/ で図、文法、および構文を見て、独自のパーサーを作成することですが、正規表現はそれを行う方法ではありません。パーサーの書き方がわからない場合は、オープン ソースの json ライブラリの 1 つを参照するか、優れた CSV パーサーのような単純なものから始めることができます。 /Articles/CsvParser.html
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:
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'
JScript.NET を使用できますか?
もしそうなら、 eval() で十分に簡単なはずです-返されたオブジェクトをループして、KeyValuePair などに変換します
コード ビハインド言語として jscript.net を使用する必要がありますが、サイトの他のページは c# のままでも問題ありません。
前のコメントで述べたように、セキュリティの側面とリスクを認識する必要があります。解析している JSON を信頼する場合にのみ eval を使用してください。