使用JsonConverter将具有复杂键的Dictionary序列化为JSON

时间:2019-02-25 20:17:07

标签: c# serialization json.net

我想使用JSON的复杂键序列化 Dictionary ,方法是将其序列化为 KeyValuePair 的列表,然后使用Json.Net的 JsonConverter将其反序列化回字典。

我将此词典用作传输对象的属性:

const app = require('express')();
const http = require('http').Server(app);
const rp = require('request-promise');
const port = 3000;

const downloadImage = require('./downloadImage');

// Opciones de búsqueda
var options = {
    url: 'http://tapas.clarin.com/tapa/1990/02/22/19900222_thumb.jpg',
    encoding: null
}

// URL donde se hace el request
app.get('/', (req, res) => {
   rp(options)
  .then(image => {
      return res.end(image, 'binary');
  })
  .catch(err => res.send(err));
})

最后,我想做这样的事情:

public class TransferObject
{
    public string property1 {get;set}
    ...
    public Dictionary<Product,int> Products {get;set;}
}

var jsonResult = JsonConvert.Serialize(transferObject, new DictionaryConverter())

如何实现将词典转换为 KeyValuePair 列表的 DictionaryConverter ? (我已经尝试过,但是我不能反序列化它) 将其转换为KVP清单是个好主意吗?还是有更好的方法来序列化具有JSON复杂键的Dictionary?

谢谢您的时间。

0 个答案:

没有答案