Динамически заполнять и анализировать JSON в REST API - PullRequest
0 голосов
/ 20 сентября 2019

Как динамически заполнять запрос JSON и отправлять его в REST API с каждым штрих-кодом, значениями serial_number в качестве автоматизации, имеющими данные динамического содержимого barcode значение и serial_number значение , которое являетсяисточник из таблицы БД Oracle?

barcode value: ["324433435343413","23432444354334433","88634354334434",....]
serial_number value: ["2999","2332","7876",....]

Запрос полезной нагрузки JSON для отправки в REST API:

{
  "selectType": "library",
  "num": "0",
  "size": "15",
  "title": "RISE",
  "contentField": [
    {
      "key": "barcode",
      "value": {value}  
    },
    {
      "key": "serial_number",
      "value": {value} 
    }
  ]
}

Динамически считывает два значения из базы данных Oracle / другого файла JSON в качестве тестовых данных и подготавливает вышеуказанный запрос полезной нагрузки JSON и имеетотправить в Rest API.Существует более 5000 штрих-кодов продукта, существуют значения serial_num, которые необходимо извлекать / считывать из БД и подготавливать полезную нагрузку с каждым значением и отправлять в API.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Я бы построил класс модели JsonRequest следующим образом:

class JsonRequest
{
    public string SelectType { get; set; }
    public string Num { get; set; }
    public string Size { get; set; }
    public string Title { get; set; }
    // <serialNumber, Barcode> Assuming this data is linked and SerialNumber is unquie.
    public Dictionary<string, string> ContentField { get; set; }
}

Возможно, вы захотите изменить ContentField на список ContentField.Если словарь не дает того, что вы хотите.

class ContentField
{
    public string SerialNumber { get; set; }
    public string Barcode { get; set; }
}

А затем используйте:

JsonConvert.SerializeObject(jsonRequest);

Для сериализации в строку Json и отправки ее.

0 голосов
/ 20 сентября 2019

Вы можете попробовать использовать foreach для динамической генерации для каждого contentField

...