tags:

views:

1508

answers:

6

First off, let me start off that I am not a .net developer. The reason why I am asking this question is that we rolled out our REST-API and one of our first integration partners is a .net shop.

So basically we assumed that .net would provide some sort of wrapper to create JSON, but the developer in question created the string by hand. I've researched this topic a bit and I couldn't really find anything, though I believe .net provides something. :)

'current code    
Dim data As String
data = "[hello, world]"

In PHP I would do the following (assuming ext/json is available ;):

<?php
$json = array('hello', 'world');
$json = json_encode($json);

I am also interested in what you use to decode the json into an array/object structure.

Help is very appreciated.

+12  A: 

There are a couple first-party and third-party options. Rick Strahl has a good overview. JSON.net is the most popular third-party option.

John Sheehan
This looks pretty good. I'll investigate this and will let you know. Thanks so far! (Sorry, I don't have any votes left right now. Regardless of what I'll choose, I will vote for this tomorrow.)
Till
+7  A: 

See http://stackoverflow.com/questions/35106/is-there-a-built-in-way-in-net-ajax-to-manually-serialize-an-object-to-a-json-s

Which is to say, in .NET 2.0,

Dim yourData As String() = { "Hello", "World" }
Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim jsonString as String = jsonSerialiser.Serialize(yourData)

In .NET 3.5, send them to Rick Strahl's blog, mentioned above

bdukes
I saw this, it doesn't actually answer my question though. Or maybe I don't get it.
Till
Thanks for extending your answer.
Till
+7  A: 

Json.Net is an easy to use library with some cool features.

Wayne
Just tried it and it works perfectly! Thanks
couellet
A: 

Check out DataContractJsonSerializer.

Kevin Hakanson
JavaScriptSerializer is much better since it requires less coding!
azamsharp
+2  A: 

I'm with Wayne - JSON.net works well. The nice is, it works well with no learning curve.

David Robbins
+3  A: 

JavaScriptSerializer is very straight forward.

Person person = new Person();

JavaScriptSerializer serializer = new JavaScriptSerializer();
String json = js.Serialize(person);
aleemb