Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с JSON Java / 25 сообщений из 26, страница 1 из 2
24.10.2019, 12:17
    #39880872
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
Всем привет я вот изучаю JSON

И у меня есть такой контроллер. Который отправляет на сервер пять слов и возвращает их в обратном порядке.

Код: java
1.
2.
3.
4.
5.
6.
@PostMapping("/reverse")
    public List<String> reverseList(@RequestBody List<String> stringList) {
        return IntStream.range(0, stringList.size())
                .mapToObj(i -> stringList.get(stringList.size() - 1 - i))
                .collect(Collectors.toList());
    }




Когда я в терминале ввожу
Код: java
1.
curl -H "Content-Type: application/json" -d "[\"One\",\"Two\",\"Three\",\"Four\",\"Five\"]" localhost:8080/hello/reverse



Он у меня возвращает
Код: java
1.
["Five","Four","Three","Two","One"]



Но как можно сделать так, чтобы он у меня читал текст в любом формате. Допустим если напишу
Код: java
1.
"5+6+8+9+10"


То как сделать так чтобы он у меня все посчитал и вывел ответ
...
Рейтинг: 0 / 0
24.10.2019, 12:22
    #39880881
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
В json, xml в общем случае нет очередности и номер по порядку.
В базе тоже нет. Заводят спец поле. И ты его добавь.
...
Рейтинг: 0 / 0
24.10.2019, 12:27
    #39880889
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,

Мне сказали, чтобы просто сделать так чтобы он читал текст в любом формате, допустим для примера если я напишу (5+6+8) он мне должен вернуть ответ, типа сколько будет их прибавление. Просто мне сказали формат который я написал неудобен, надо по универсальному написать. Можете помочь
...
Рейтинг: 0 / 0
24.10.2019, 12:29
    #39880891
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
Я пока задачу не понял.
Причем очередность при сложении?
...
Рейтинг: 0 / 0
24.10.2019, 12:35
    #39880899
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,

Допустим я же сначала написал ["Five","Four","Three","Two","One"], чтобы его JSON вывел в обратном порядке. Мне сказали так неудобно будет каждый раз писать, надо что-то универсальное написать. Допустим убрать скобочки, слэши и тд чтобы просто цифры были или слова без скобочек и слэшей
...
Рейтинг: 0 / 0
24.10.2019, 12:41
    #39880907
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
Математика, 1 класс вторая четверть:
ДАНО:
- числа в json
НАЙТИ:
- их сумму в сервлете
Так?
...
Рейтинг: 0 / 0
24.10.2019, 12:42
    #39880910
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,

просто надо так написать чтобы этот код работал без скобок и слэшей

Код: java
1.
curl -H "Content-Type: application/json" -d "[\"One\",\"Two\",\"Three\",\"Four\",\"Five\"]" localhost:8080/hello/reverse
...
Рейтинг: 0 / 0
24.10.2019, 13:24
    #39880936
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
Вопрос не имеет никакого отношения ни к Java, ни к JSON, так как в приведённом примере дана командная строка программы CURL. Какие в ней требования к командной строке - см. в описании CURL. В ней можно передавать данные и не в командной строке, а в файле. Но это не относится к теме Java. В Java можно сделать то же, что и в этой команде CURL. Так что даже не понял, что вы хотели выразить с помощью CURL.
...
Рейтинг: 0 / 0
24.10.2019, 13:29
    #39880939
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy
Код: java
1.
json" -d "[3, 5,1,6]" localhost


Так?
...
Рейтинг: 0 / 0
24.10.2019, 13:30
    #39880941
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyyМне сказали так неудобно будет каждый раз писать
если нужно передавать строго массив строк, то json действительно в данном случае вероятно overkill
можно
1) сменить POST на GET
2) тип параметра на массив строк вместо списка
3) RequestBody на RequestParam

тогда можно передавать значения либо как myParam=1&myParam=3&myParam=5 либо как myParam=1,3,5,6

либо нужно свой конвертер написать, который будет принимать параметры в любом удобном виде и конвертить в нужный тип, но стоит ли?
...
Рейтинг: 0 / 0
24.10.2019, 13:33
    #39880945
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
chpasha,
Я только додумался вот так написать
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
@RestController
@RequestMapping("/hello")
public class HelloController {
 
    private final NamesDAO namesDAO;
 
    public HelloController(NamesDAO namesDAO) {
        this.namesDAO = namesDAO;
    }
 
 
    
    
    @PostMapping("/reverse")
    public List<String> reverseList(@RequestBody String string) {
        List<String> stringList = Arrays.asList(string.split("+"));
        return IntStream.range(0, stringList.size())
                .mapToObj(i -> stringList.get(stringList.size() - 1 - i))
                .collect(Collectors.toList());
    }
 
 
 
}




Как можно написать так чтобы допустим эти [] скобочки убрать, чтобы просто было
Код: java
1.
 curl -H "Content-Type: application/json" -d  и вот здесь текста



Код: java
1.
curl -H "Content-Type: application/json" -d '["text":"One+Two+Three+Four+Five"]' localhost:8080/hello/reverse
...
Рейтинг: 0 / 0
24.10.2019, 13:45
    #39880955
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
Нда... Тяжело понять конечную цель автора)
...
Рейтинг: 0 / 0
24.10.2019, 13:55
    #39880966
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyyЯ только додумался вот так написать
чувак, я для кого предыдущий пост писал? так все, в сад. надоели бараны
...
Рейтинг: 0 / 0
24.10.2019, 13:57
    #39880967
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,

Сейчас попытаюсь более детально обьяснить) просто то что я написал ранее это неправильно. Мне сказали просто написать код, где команду cURL

Код: java
1.
curl -H "Content-Type: application/json" -d "[\"One\",\"Two\",\"Three\",\"Four\",\"Five\"]" localhost:8080/hello/reverse



Нужно написать, дабы оно было универсальное и удобное, чтобы не использовать скобки и слэши как здесь
Код: java
1.
 -d "[\"One\",\"Two\",\"Three\",\"Four\",\"Five\"]
...
Рейтинг: 0 / 0
24.10.2019, 14:14
    #39880973
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
))) что передать надо в reverse?
...
Рейтинг: 0 / 0
24.10.2019, 14:17
    #39880974
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy
Код: java
1.
One-Two-Three

так?
))))
...
Рейтинг: 0 / 0
24.10.2019, 14:19
    #39880975
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
Напиши без скобок как хотят и скажи ошибку которая будет.
...
Рейтинг: 0 / 0
24.10.2019, 14:33
    #39880985
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,
Все я уточнил
Чтобы допустим если я введу

Код: java
1.
curl -H "Content-Type: application/json" -d "один, два, три, четыре, пять" localhost:8080/hello/reverse



Он вернул его в обратном порядке. Как вы заметили без [] надо

Плюс сказали чтобы он умел обрабатывать его в любом формате типа даже если я напишу "5+6+7+8" тоже обработал.
...
Рейтинг: 0 / 0
24.10.2019, 14:40
    #39880989
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy,
всего то и надо поместить аргумент в одиночные кавычки, а не двойные. Тогда \ не понадобится. Вообще-то, об этом можно было узнать в руководстве по CURL.
...
Рейтинг: 0 / 0
24.10.2019, 14:45
    #39880992
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyyдаже если я напишу "5+6+7+8" тоже обработал.и суммировал? Или реверсировал reverse?
...
Рейтинг: 0 / 0
24.10.2019, 14:47
    #39880993
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
Partisan Mskyboyy,
всего то и надо поместить аргумент в одиночные кавычки, а не двойные. Тогда \ не понадобится. Вообще-то, об этом можно было узнать в руководстве по CURL.им скобки тоже не нравятся. Тогда тип контента надо менять.
...
Рейтинг: 0 / 0
24.10.2019, 14:49
    #39880996
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyy
Код: java
1.
List<String> stringList = Arrays.asList(string.split("+"));

json тут вообще ни при чем)
...
Рейтинг: 0 / 0
24.10.2019, 14:52
    #39881001
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharp,

Сказали можно суммировать, а можно просто вывести наоборот. Важно чтобы был JSON + чтобы он любой формат текста читал
...
Рейтинг: 0 / 0
24.10.2019, 15:02
    #39881012
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
skyboyyВажно чтобы был JSONскажи им что json это скобки бязательнт и запятые. Иначе это не json.
...
Рейтинг: 0 / 0
24.10.2019, 15:54
    #39881051
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с JSON Java
PetroNotC Sharpskyboyy,
В json в общем случае нет очередности и номер по порядку.


Справедливости ради, в JSON-массивах порядок есть

https://www.json.org/ An array is an ordered collection of values.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с JSON Java / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]