-
Notifications
You must be signed in to change notification settings - Fork 29
Closed
Labels
Description
I am going to deserialize json files using the following program:
using System;
using System.IO;
namespace NetTest1
{
public class Program
{
public static void Main(string[] args)
{
var a = NetJSON.NetJSON.Deserialize<Solution.SolutionData>(File.ReadAllText(".solution.json"));
var b = NetJSON.NetJSON.Deserialize<Project.ProjectData>(File.ReadAllText(".project1.json"));
var c = NetJSON.NetJSON.Deserialize<Project.ProjectData>(File.ReadAllText(".project2.json"));
var d = NetJSON.NetJSON.Deserialize<Project.ProjectData>(File.ReadAllText(".project3.json"));
}
}
public class Solution
{
public class SolutionData
{
public FolderData folders { get; set; }
public PackageData[] packages { get; set; }
}
public class PackageData
{
public string name { get; set; }
public string version { get; set; }
public string[] references { get; set; }
}
public class FolderData
{
public string output { get; set; }
public string sources { get; set; }
public string packages { get; set; }
}
}
public class Project
{
public class ProjectData
{
public MetadataData metadata { get; set; }
public String[] references { get; set; }
public String[] dependencies { get; set; }
public PackageData[] packages { get; set; }
}
public class MetadataData
{
public String type { get; set; }
}
public class PackageData
{
public String name { get; set; }
public String version { get; set; }
}
}
}The object b is invalid. It should contains only two references.
When deserializng to object d an exceptions is thrown.
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at ProjectDataClass.CreateClassOrDictProjectData(Char* , Int32& )
at ProjectDataClass.ReadProjectData(String )
at ProjectDataClass.Deserialize(String )
at NetJSON.NetJSON.Deserialize[T](String json)
at NetTest1.Program.Main(String[] args) in c:\Users\Adrian\Documents\SharpDevelop Projects\NetTest1\NetTest1\Program.cs:line 13
I suppose the problem is in encoding.
The files you can find here: https://github.com/amacal/Quality.Json/blob/issue/data.zip?raw=true
Reactions are currently unavailable