Till
Till

Reputation: 22408

Create JSON with .net

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.

Upvotes: 15

Views: 8549

Answers (6)

aleemb
aleemb

Reputation: 32065

JavaScriptSerializer is very straight forward.

Person person = new Person();

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

Upvotes: 3

David Robbins
David Robbins

Reputation: 10046

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

Upvotes: 2

Kevin Hakanson
Kevin Hakanson

Reputation: 42200

Check out DataContractJsonSerializer.

Upvotes: 0

bdukes
bdukes

Reputation: 155905

See Is there a built in way in .Net AJAX to manually serialize an object to a JSON string?

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

Upvotes: 10

Wayne
Wayne

Reputation: 39878

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

Upvotes: 7

John Sheehan
John Sheehan

Reputation: 78104

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.

Upvotes: 15

Related Questions