Initial Answer
You could do something like this to turn it into a link:
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text;
public class Program
{
public static void Main()
{
dynamic obj = JArray.Parse(jsonString);
var builder = new StringBuilder();
builder.Append("?id0=" + obj[0].id);
builder.Append("&id1=" + obj[1].id);
builder.Append("&category1=" +obj[1].category);
Console.WriteLine("http://www.something.com" + builder.ToString());
}
public static string jsonString = @"[ {""id"": ""1""}, {""id"": ""2"", ""category"": ""toys""} ]";
}
Output:
http://www.something.com?id0=1&id1=2&category1=toys
More Generic Follow Up Answer
Based on your comment, here is something more generic:
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
JArray array = JArray.Parse(jsonString);
var builder = new StringBuilder();
for (var i = 0; i < array.Count; ++i)
{
JToken obj = array[i];
foreach (JProperty prop in obj)
{
var prefix = i == 0 ? "?" : "&";
builder.AppendFormat("{0}{1}{2}={3}", prefix, prop.Name, i, prop.Value);
}
}
Console.WriteLine("http://www.something.com" + builder.ToString());
}
public static string jsonString = @"[ {""id"": ""1""}, {""id"": ""2"", ""category"": ""toys""} ]";
}
Output:
http://www.something.com?id0=1&id1=2&category1=toys