在C#.NET中将JSON字符串解析为JSON对象

Par*_*shi 26 .net c# parsing json

我在.NET中使用SOAP Web服务返回了一个JSON字符串.它如下:

{
 "checkrecord":
   [
     {
      "rollno":"abc2",
      "percentage":40,
      "attended":12,
      "missed":34
     }
  ],
 "Table1":[]
}
Run Code Online (Sandbox Code Playgroud)

现在我想将此字符串解析为JSON对象.我也看了这个,他们已经用这行代码:

JObject jsonObj = JObject.Parse(json);
Run Code Online (Sandbox Code Playgroud)

所以我可以通过用我的字符串名称替换"json"来做同样的事情.我还需要引用除NewtonSoft.dll之外的任何其他DLL吗?

BTW,这是完整的Web服务代码

Baz*_*nga 34

使用 new JavaScriptSerializer().Deserialize<object>(jsonString)

您需要System.Web.Extensions dll并导入以下命名空间.

命名空间:System.Web.Script.Serialization

了解更多信息MSDN

  • @capdragon:除非他是你的父亲. (2认同)

dem*_*ron 11

我看到这个问题很老了,但这是我用于同一问题的解决方案,而且似乎需要的代码比其他代码少一些.

正如@Maloric在回答这个问题时提到的那样:

var jo = JObject.Parse(myJsonString);
Run Code Online (Sandbox Code Playgroud)

要使用JObject,您需要在类文件中使用以下内容

using Newtonsoft.Json.Linq;
Run Code Online (Sandbox Code Playgroud)


Jes*_*olm 5

除了JObject之外的另一个选择是Weak-Typed JSON对象的System.Json.JsonValue.

它也有JsonValue blob = JsonValue.Parse(json);你可以使用.blob很可能JsonObject是源自JsonValue但可能是的类型JsonArray.检查blob.JsonType您是否需要知道.

并回答你的问题,是的,你可以用json保存JSON字符串的实际变量的名称替换.;-D

您应该将一个System.Json.dll添加到项目参考中.

-Jesse