questions/45095004/c-sharp-jsonconvert-deserializeobject-populating-list-with-null

CSharp · Console

/Program.cs

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;
using System.Collections.ObjectModel;
using System.Reflection;
using System.Runtime.Serialization;
using System.Data;
using System.ComponentModel;
using System.Globalization;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Runtime.Serialization.Formatters;
using System.ComponentModel.DataAnnotations;


using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
			
// https://stackoverflow.com/questions/45095004/c-sharp-jsonconvert-deserializeobject-populating-list-with-null


	public class LatLong
	{
		[JsonProperty(" latitude ")]
		public string latitude { get; set; }
		[JsonProperty(" longitude ")]
		public string longitude { get; set; }
	}

    class TestClass
    {
        public static void Test()
        {
			var c = new { geofence_coordinates = GetJson() };
			
			var latlongs = JsonConvert.DeserializeObject<List<LatLong>>(c.geofence_coordinates);
			
			Console.WriteLine(JsonConvert.SerializeObject(latlongs, Formatting.Indented));
		}

        static string GetJson()
        {
            var json = @"[  
   {  
      "" latitude "":""-34.95771393255739"",
      "" longitude "":""138.46961975097656""
   },
   {  
      "" latitude "":""-34.9520861634788"",
      "" longitude "":""138.57330322265625""
   },
   {  
      "" latitude "":""-35.00947127349485"",
      "" longitude "":""138.50017547607422""
   },
   {  
      "" latitude "":""-35.00806525651258"",
      "" longitude "":""138.57467651367188""
   }
]";
            return json;
        }

    }
		
	public class Program
	{
		public static void Main()
		{
			Console.WriteLine("Environment version: " + Environment.Version);
			Console.WriteLine("Json.NET version: " + typeof(JsonSerializer).Assembly.FullName);
			Console.WriteLine();

			TestClass.Test();
		}
	}
;