I was trying to convert Json to Xml so it made it easier to read.
And I used the following code ...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Diagnostics;
using System.Xml;
using Newtonsoft.Json;
using System.Net;
namespace PowderToyUpdater
{
static class Program
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
WebClient web = new WebClient();
var value = web.DownloadString("http://powdertoy.co.uk/Browse/Comments.json?ID=1681176&Start=0&Count=20");
XmlDocument xml = JsonConvert.DeserializeXmlNode(value, "root");
}
}
}
But as soon as the WebClient drops the string it returns:
XmlNodeConverter can only convert JSON that begins with an object
Stacktrace:
em Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
em Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
em Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
em Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
em Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
em Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
em Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonConverter[] converters)
em Newtonsoft.Json.JsonConvert.DeserializeXmlNode(String value, String deserializeRootElementName, Boolean writeArrayAttribute)
em PowderToyUpdater.Program.Main() na C:\Users\Nathan Ferreira\Documents\Visual Studio 2010\Projects\PowderToyUpdater\PowderToyUpdater\Program.cs:linha 26
em System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
em System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
em System.Threading.ThreadHelper.ThreadStart_Context(Object state)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Threading.ThreadHelper.ThreadStart()
The json Code is this:
[{"Username":"Sandwichlizard","UserID":"105412","Gravatar":"\/Avatars\/105412_40.png","Text":"front page.","Timestamp":"1424281388","FormattedUsername":"Sandwichlizard"},{"Username":"ndutoit","UserID":"133746","Gravatar":"http:\/\/www.gravatar.com\/avatar\/88ff6ca3f7391896d88ea1f6ac46c3f8?s=40&d=http%3A%2F%2Fpowdertoy.co.uk%2FDesign%2FImages%2FAvatar.png&r=pg","Text":"what is fp?","Timestamp":"1424279967","FormattedUsername":"ndutoit"},{"Username":"Lord_Bowserinator","UserID":"130740","Gravatar":"\/Avatars\/130740_40.png","Text":"fp again","Timestamp":"1417569227","FormattedUsername":"Lord_Bowserinator"},{"Username":"Sandwichlizard","UserID":"105412","Gravatar":"\/Avatars\/105412_40.png","Text":"sure. I will make a tutorial save. that will be easier than just talking about it here. I will leave a link in this save when it is ready. I will also publish it.","Timestamp":"1417561239","FormattedUsername":"Sandwichlizard"},{"Username":"Anonymous100","UserID":"92366","Gravatar":"\/Avatars\/92366_40.png","Text":"Sandwich would you mind explaining to me the basic of all thesse fancy filt drives? I know that it has something to do with the fact that a color of filt when beamed at dtec with aray changes the filts color that is next to the dtec, but I dont understand how that info is decoded, and how it is written in the first place.","Timestamp":"1417541787","FormattedUsername":"Anonymous100"},{"Username":"tombattraw","UserID":"85950","Gravatar":"http:\/\/www.gravatar.com\/avatar\/a9a4ec31425b097ae496b8f027cdf016?s=40&d=http%3A%2F%2Fpowdertoy.co.uk%2FDesign%2FImages%2FAvatar.png&r=pg","Text":"try recording a pong game","Timestamp":"1417535992","FormattedUsername":"tombattraw"},{"Username":"Sandwichlizard","UserID":"105412","Gravatar":"\/Avatars\/105412_40.png","Text":"@mecha-man. sure. I have already started. I am working on a new printer save using this drive and I realized I needed some things and it forced me into a redesign. I will PM you.","Timestamp":"1417488946","FormattedUsername":"Sandwichlizard"},{"Username":"mecha-man","UserID":"48475","Gravatar":"\/Avatars\/48475_40.png","Text":"@Sandwichlizard: Wanna work together to make it more compact?","Timestamp":"1417482098","FormattedUsername":"mecha-man"},{"Username":"159819","UserID":"78051","Gravatar":"\/Avatars\/78051_40.png","Text":"is it posable to ither make a biger screen or smaler pixels?","Timestamp":"1417478468","FormattedUsername":"159819"},{"Username":"0356459","UserID":"121388","Gravatar":"http:\/\/www.gravatar.com\/avatar\/56261703f558a3503a1ab238fd4f4dac?s=40&d=http%3A%2F%2Fpowdertoy.co.uk%2FDesign%2FImages%2FAvatar.png&r=pg","Text":"sorry man......but hey front page for a long time! :)","Timestamp":"1417412356","FormattedUsername":"0356459"},{"Username":"Sandwichlizard","UserID":"105412","Gravatar":"\/Avatars\/105412_40.png","Text":"If someone would like to make a new video for this setup I would happily update the save with credit to the author of said video","Timestamp":"1417399984","FormattedUsername":"Sandwichlizard"},{"Username":"Sandwichlizard","UserID":"105412","Gravatar":"\/Avatars\/105412_40.png","Text":"the crappy video is just to demo the drive. video made way better video's than mine for sure. thank you for your input.","Timestamp":"1417399892","FormattedUsername":"Sandwichlizard"},{"Username":"0356459","UserID":"121388","Gravatar":"http:\/\/www.gravatar.com\/avatar\/56261703f558a3503a1ab238fd4f4dac?s=40&d=http%3A%2F%2Fpowdertoy.co.uk%2FDesign%2FImages%2FAvatar.png&r=pg","Text":"video did it better 2 times before. -1","Timestamp":"1417318433","FormattedUsername":"0356459"},{"Username":"zsdrfty","UserID":"100327","Gravatar":"\/Avatars\/100327_40.png","Text":"Minecraft is more insane because it has analog computers. oog","Timestamp":"1417281395","FormattedUsername":"zsdrfty"},{"Username":"Imperator","UserID":"123921","Gravatar":"\/Avatars\/123921_40.png","Text":"It's so cool that people can actually make a functioning computer within a game.","Timestamp":"1417269917","FormattedUsername":"Imperator"},{"Username":"handicraftsman","UserID":"108835","Gravatar":"\/Avatars\/108835_40.png","Text":"Sandwichlizard, you can use my tablets without credits ) It's for you ) id:1677416","Timestamp":"1417268811","FormattedUsername":"handicraftsman"},{"Username":"Ilog123","UserID":"104909","Gravatar":"\/Avatars\/104909_40.png","Text":"Try Making a Movie maker so you can copy\/paste your film and check em out","Timestamp":"1417251254","FormattedUsername":"Ilog123"},{"Username":"electronic_steve","UserID":"96362","Gravatar":"\/Avatars\/96362_40.png","Text":"id:1683229 108,3... i won!","Timestamp":"1417237206","FormattedUsername":"electronic_steve"},{"Username":"zsdrfty","UserID":"100327","Gravatar":"\/Avatars\/100327_40.png","Text":"16.7k? We're over 1\/10 of the capacity of a single-sided, single-density 5.25\" floppy disk!","Timestamp":"1417229000","FormattedUsername":"zsdrfty"},{"Username":"Fulchrum","UserID":"95857","Gravatar":"\/Avatars\/95857_40.png","Text":"10\/10, owned some noob in planetside 2 on this save.","Timestamp":"1417210797","FormattedUsername":"Fulchrum"}]