28

I have a JSON String returned by my SOAP web service in .NET. It is as follows:

{
 "checkrecord":
 [
 {
 "rollno":"abc2",
 "percentage":40,
 "attended":12,
 "missed":34
 }
 ],
 "Table1":[]
}

Now I want to parse this string to a JSON Object. I also read this where they have used this line of code:

JObject jsonObj = JObject.Parse(json);

So can I do the same by replacing "json" with my string name. Also do I need to reference any other dll except the NewtonSoft.dll ?

BTW, Here is the full webservice code

Albert Lazaro de Lara
2,5186 gold badges30 silver badges43 bronze badges
asked Nov 28, 2011 at 4:56

4 Answers 4

37

use new JavaScriptSerializer().Deserialize<object>(jsonString)

You need System.Web.Extensions dll and import the following namespace.

Namespace: System.Web.Script.Serialization

for more info MSDN

Eric
4,3215 gold badges31 silver badges37 bronze badges
answered Nov 28, 2011 at 5:00
Sign up to request clarification or add additional context in comments.

12 Comments

hey thanks !! is this right ?? JavaScriptSerializer j = new JavaScriptSerializer.Deserialize<object>(json); Also , when I write this line of code in vs 2008, I m getting error saying " The type or namespace JavaScriptSerializer could not be found" I have added Newtonsoft.dll as reference, do I need to add something else
also how do I return the Object? Do I need to change data type of my webmethod to JSON Object?
updated my answer.. you dnt need newtonsoft.dll! zzz.. what do you mean return the object??
I want to know when I convert the JSON String I have into a JSON Object using the method u have mentioned, what will be the format of the JSON object and how will it look like? Also, I need to return that JSON object so that it can be used on my client Android app
@capdragon: Not unless he's your father.
|
15

I see that this question is very old, but this is the solution I used for the same problem, and it seems to require a bit less code than the others.

As @Maloric mentioned in his answer to this question:

var jo = JObject.Parse(myJsonString);

To use JObject, you need the following in your class file

using Newtonsoft.Json.Linq;
answered Mar 15, 2017 at 22:28

1 Comment

For some reason .NET's System.Object and System.Json are unavailable in UWP projects, so this worked like a charm.
6

Another choice besides JObject is System.Json.JsonValue for Weak-Typed JSON object.

It also has a JsonValue blob = JsonValue.Parse(json); you can use. The blob will most likely be of type JsonObject which is derived from JsonValue, but could be JsonArray. Check the blob.JsonType if you need to know.

And to answer you question, YES, you may replace json with the name of your actual variable that holds the JSON string. ;-D

There is a System.Json.dll you should add to your project References.

-Jesse

answered Jun 17, 2012 at 17:41

1 Comment

Just to clarify for anyone trying to locate this .dll on their system, it looks like this is Silverlight dll available with .Net 4.5.
3

Since you mentioned that you are using Newtonsoft.dll you can convert a JSON string to an object by using its facilities:

MyClass myClass = JsonConvert.DeserializeObject<MyClass>(your_json_string);
[Serializable]
public class MyClass
{
 public string myVar {get; set;}
 etc.
}
answered Jul 18, 2016 at 17:28

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.