.NETのSOAP Webサービスによって返されるJSON文字列があります。次のとおりです。
{
"checkrecord":
[
{
"rollno":"abc2",
"percentage":40,
"attended":12,
"missed":34
}
],
"Table1":[]
}
次に、この文字列をJSONオブジェクトに解析します。また、 this を読んで、このコード行を使用しています:
JObject jsonObj = JObject.Parse(json);
「json」を文字列名に置き換えることで同じことができます。また、NewtonSoft.dll以外の他のdllを参照する必要がありますか?
ところで、ここに完全なウェブサービスがあります code
new JavaScriptSerializer().Deserialize<object>(jsonString)
を使用します
System.Web.Extensions dllが必要で、次の名前空間をインポートします。
名前空間:System.Web.Script.Serialization
詳細情報[〜#〜] msdn [〜#〜]
この質問は非常に古いことがわかりますが、これは私が同じ問題に使用した解決策であり、他のものよりも少し少ないコードで済むようです。
@ -Maloricが this 質問への回答で述べたように:
var jo = JObject.Parse(myJsonString);
JObjectを使用するには、クラスファイルに次のものが必要です。
using Newtonsoft.Json.Linq;
JObject以外の別の選択肢は System.Json.JsonValue Weak-Typed JSONオブジェクトです。
また、使用できるJsonValue blob = JsonValue.Parse(json);
もあります。ほとんどの場合、blobはJsonObject
から派生したJsonValue
型になりますが、JsonArray
になります。 blob.JsonType
知る必要がある場合。
はい、あなたの質問に答えるために、json
をJSON文字列を保持する実際の変数の名前に置き換えることができます。 ;-D
プロジェクト参照に追加する必要があるSystem.Json.dllがあります。
-ジェシー
Newtonsoft.dllを使用していると述べたので、その機能を使用してJSON文字列をオブジェクトに変換できます。
MyClass myClass = JsonConvert.DeserializeObject<MyClass>(your_json_string);
[Serializable]
public class MyClass
{
public string myVar {get; set;}
etc.
}