2014-02-19 55 views
0

我从文件中读取一个JSON和序列化到任何对象如下:Servicestack.Text不解析JSON

MyObject o = myjson.FromJson<MyObject>(); 

的JSON文本是正确的,因为我搬到ServiceStack之前使用Newtonsoft.Json。

但是,在序列化之后,对象'o'没有被相应地设置(即,空或者在对象的构造函数中设置了默认值)。

的是类:

public class Options 
{ 
    public string Email; 
    public string Password; 
    public string Answer; 
    //etc... 

    public Options() 
    { 
     this.Email = "default"; 
     this.Password = "default"; 
     //etc... 
    } 
} 

什么可能是错误的?

+1

http://www.sscce.org/ –

+0

@ L.B干得好... – Dayan

回答

0

ServiceStack不序列公共领域默认,但你可以启用它:

JsConfig.IncludePublicFields = true; 
0

让我们假设您的JSON位于文本文件上。

using Newtonsoft.Json; 

    var item = @"C:\someJSON.txt"; 
    var op = JsonConvert.DeserializeObject<SavedOpData>(File.ReadAllText(item)); 

我对SavedOpData

internal partial class SavedOpData 
     { 
      internal class AppUri 
      { 
       public string file_name; 
       public string file_uri; 
       public int file_size; 
       public string file_hash; 
      } 
     } 

类序列化回JSON请执行以下操作:

var serialized = JsonConvert.SerializeObject(SavedOpData); 

假设SavedOpData是我上面贴的类的实例和它有数据已经​​填充。