使用JSON.Net CustomCreationConverter

时间:2012-05-08 14:30:13

标签: c# asp.net json json.net deserialization

我正在尝试以这种格式反序列化JSON:

{
   "data": [
      {
         "installed": 1,
         "user_likes": 1,
         "user_education_history": 1,
         "friends_education_history": 1,
         "bookmarked": 1
      }
   ]
}

到这样一个简单的字典:

{
    "installed": true,
    "user_likes": true,
    "user_education_history": true,
    "friends_education_history": true,
    "bookmarked": true
}

使用CustomCreationConverter中的JSON.NET 4.0

我收到错误,说我只能反序列化到数组。它是否正确?我如何“强制”它来创建字典?我是否需要创建自定义类?

1 个答案:

答案 0 :(得分:-4)

试一试:

var convert = function(obj){
    var newObj = {};
    for(var prop in obj.data[0])
        newObj[prop] = obj.data[0][prop];
    return newObj;
}
convert({
    "data": [
        {
            "installed": 1,
            "user_likes": 1,
            "user_education_history": 1,
            "friends_education_history": 1,
            "bookmarked": 1
        }
    ]
});