Показать сообщение отдельно
  #1  
Старый 09.02.2021, 10:38
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию Сформировать json из данных

Пытаюсь сделать пост запрос с json.
Сам по себе запрос понятен, если статично делать, то-бишь сразу прописать весь текст Json.
Но цель добавлять данные в json из списка listview автоматически.

Структура json
PHP код:
"name""000001",
            
"organization": {
              
"meta": {
                
"href""https://link",
                
"type""organization",
                
"mediaType""application/json"
              
}
            
"positions": [
              {
                
"quantity"1,
                
"price"100,
                
"assortment": {
                  
"meta": {
                    
"href""https://link/be903062-f504-11e5-8a84-bae50000019a",
                    
"type""product",
                    
"mediaType""application/json"
                  
}
                },
                
"reserve"1
              
},
            ] 
Из которой следует:
В "positions" - находится определенная позиция, где:
"quantity" - кол-во
"price": - цена
"href" - ссылка на нужную позицию.

В своем списке я имею структуру итемов, где есть все необходимые данные, данные всегда разные, может быть больше, может быть меньше.

Пример содержания listview.

Собственно вопрос, как сформировать Json исходя из того, что есть в данный момент в listview?

Из примера выше Json должен получиться примерно таким:
PHP код:
"name""000001",
            
"organization": {
              
"meta": {
                
"href""https://link",
                
"type""organization",
                
"mediaType""application/json"
              
}
            
"positions": [
              {
                
"quantity"1,
                
"price"50,
                
"assortment": {
                  
"meta": {
                    
"href""https://link/blablalink1",
                    
"type""product",
                    
"mediaType""application/json"
                  
}
                },
                
"reserve"1
              
},
            ]
            
"positions": [
              {
                
"quantity"5,
                
"price"140,
                
"assortment": {
                  
"meta": {
                    
"href""https://link/blablalink2",
                    
"type""product",
                    
"mediaType""application/json"
                  
}
                },
                
"reserve"5
              
},
            ]
            
"positions": [
              {
                
"quantity"7,
                
"price"99,
                
"assortment": {
                  
"meta": {
                    
"href""https://link/blablalink3",
                    
"type""product",
                    
"mediaType""application/json"
                  
}
                },
                
"reserve"7
              
},
            ] 
Ответить с цитированием