Ответы пользователя по тегу JSON
  • Как задать градиент в Json файле?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Эм. Как бы как хочешь так и задавай.
    {
      "gradient": {
         "type": "lineal",
         "points": ["#c6c6c6", "#c6c6c6", "#c6c6c6", "#c6c6c6", "#c6c6c6"]
       }
    }


    PS
    Если программа не поддерживает градиент, ты его никогда ни как не задашь
    Ответ написан
  • Как форматировать JSON в такой вывод (C#)?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Читай элементы массива json, забирай поля элементов (объектов) и добавляй в свой список
    Ответ написан
    Комментировать
  • Как в Delphi XE создать JSON?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Это у тебя массив из объектов. А значит, мы создаем массив и добавляем в него объекты. Логично? По-моему - да.
    var
      JSA : TJSONArray;
      JS : TJSONObject;
    begin
      JSA := TJSONArray.Create;
    
      JS := TJSONObject.Create;
      JS.AddPair('foo', 'bar');
      JSA.Add(JS);
    
      JS := TJSONObject.Create;
      JS.AddPair('foo', 'bar');
      JSA.Add(JS);
    
      writeln(JSA.ToString);
    
      JSA.Free;
    
      readln;
    end.


    Добавляя элементы в JSA их не нужно самому удалять. Они становятся его частью.
    Ответ написан
    Комментировать
  • Сгенерировать Json обьект?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    JSON так не "генерируются". Данные внутри должны быть экранированы. Тебе нужен json сериализатор.
    Ответ написан
  • Где ошибка в JSON?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Форматтер и валидатор. Твой пример он сам исправил и написал, что удалил запятую
    https://jsonformatter.curiousconcept.com/
    Ответ написан
    Комментировать
  • Как сгенерировать JSON для keyboard VK API?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    {
      "one_time": true,
      "inline": false,
      "buttons": [    <------- а где ещё массив?
        {
          "action": {
            "type": "text",
            "payload": "{\"button\":\"btn_1\"}",
            "label": "Привет"
          },
          "color": "secondary"
        }
      ]
    }


    Каждый элемент кнопки должен находится внутри массива - слоя, а каждый слой внутри массива buttons
    Т.е. buttons - это массив слоёв кнопок (уровней, линий), каждый из которых содержит массив кнопок.

    Итого:
    public function generateButtons(array $buttons, bool $inline = false) : string {
            $array = [
                'one_time' => !$inline,
                'inline' => $inline,
                'buttons' => [],
            ];
    
            foreach ($buttons as $item) {
                $array['buttons'][][] = [  <---- ещё один массив
                    'action' => [
                        'type' => $item['type'],
                        'payload' => json_encode($item['payload'], JSON_UNESCAPED_UNICODE),
                        'label' => $item['label'],
                    ],
                    'color' => $item['color'],
                ];
            }
    
            return json_encode($array, JSON_UNESCAPED_UNICODE);
        }

    Результат:
    {
        "one_time": true,
        "inline": false,
        "buttons": [
            [
                {
                    "action": {
                        "type": "text",
                        "payload": "{\"button\":\"btn_1\"}",
                        "label": "1233123"
                    },
                    "color": "secondary"
                }
            ]
        ]
    }
    Ответ написан
    1 комментарий