Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JSON ошибка синтаксиса / 8 сообщений из 8, страница 1 из 1
16.10.2015, 15:48
    #39078738
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
Всем привет!
Какая-то ерунда - не могу разобраться где сделал ошибку при отправке json запроса на сервер - метод post.
Вот краткая схема классов.
Добавляет элемент в коллекцию.
Код: 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.
25.
26.
27.
28.
29.
package ru.demo.serv.messanger2.service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import ru.demo.serv.messanger2.database.Database;
import ru.demo.serv.messanger2.model.Message;
import ru.demo.serv.messanger2.model.Profile;

public class MassegeService {
	
		private Map<Long, Message> messages = Database.getInstanceOfmessages();
		private Map<Long, Profile> prof = Database.getInstanceOfprof();
		
		
		public MassegeService(){
			messages.put(1L, new Message(1,"Koleman", "Hello and how privet!!!"));
			messages.put(2L, new Message(2,"Merphy", "Lonlyness in city!!!"));
		}
	

		
		public Message addMessage(Message mess){
		long id = messages.size()+1;
		messages.put(id, mess);
			return mess;
		}
		



класс который обрабатывает запрос
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@Path("/messages")
public class messageResource {
	
	MassegeService service = new MassegeService();


@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Message addMessage(Message mess){
	
	return service.addMessage(mess);
}



пытаюсь отправить в запросе

Код: java
1.
2.
3.
4.
5.
6.
[
  {
    "author": "Mike",
    "id": 3,
    "message": "Go ahead punks!!!"
  }



сообщение об ошибке:
автор</head><body><h1>HTTP Status 400 - Bad Request</h1><div class="line"></div><p><b>type</b> Status report</p><p><b>message</b> <u>Bad Request</u></p><p><b>description</b> <u> The request sent by the client was syntactically incorrect. </u></p><hr class="line"><h3>Apache Tomcat/8.0.26</h3></body></html>


Кто сталкивался можете рассказать где ошибка?
...
Рейтинг: 0 / 0
17.10.2015, 19:16
    #39079155
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
Dr.Hofmann
пытаюсь отправить в запросе

Код: java
1.
2.
3.
4.
5.
6.
[
  {
    "author": "Mike",
    "id": 3,
    "message": "Go ahead punks!!!"
  }



сообщение об ошибке:
автор</head><body><h1>HTTP Status 400 - Bad Request</h1><div class="line"></div><p><b>type</b> Status report</p><p><b>message</b> <u>Bad Request</u></p><p><b>description</b> <u> The request sent by the client was syntactically incorrect. </u></p><hr class="line"><h3>Apache Tomcat/8.0.26</h3></body></html>


Кто сталкивался можете рассказать где ошибка?

Вот вижу скобку квадратную перед {...}. Зачем вы массив передаете, если принимаете всего 1 объект?

Надо передавать

Код: javascript
1.
2.
3.
4.
5.
  {
    "author": "Mike",
    "id": 3,
    "message": "Go ahead punks!!!"
  }
...
Рейтинг: 0 / 0
17.10.2015, 21:32
    #39079183
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
синтаксическая ошибка - нет ].
...
Рейтинг: 0 / 0
17.10.2015, 22:39
    #39079197
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
авторсинтаксическая ошибка - нет ].

Да убрал я эту скобку ничего не изменилось ошибка такого же вида
У вас работает можете проверить


авторВот вижу скобку квадратную перед {...}. Зачем вы массив передаете, если принимаете всего 1 объект?

Где ты массив видишь расскажи пожалуйста?
...
Рейтинг: 0 / 0
17.10.2015, 23:09
    #39079203
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
Dr.Hofmann, про синтаксис http://json.org/
...
Рейтинг: 0 / 0
17.10.2015, 23:15
    #39079205
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
У себя проверить это очевидно невозможно.
Но тоже очевидно, что имелось ввиду передавать массив

[
{
"author": "Koleman",
"id": 1,
"message": "Hello and how privet!!!"
},

{
"author": "Merphy",
"id": 2,
"message": "Lonlyness in city!!!"
},
]

Но может быть и

{
"authors" : [
{
"author": "Koleman",
"id": 1,
"message": "Hello and how privet!!!"
},

{
"author": "Merphy",
"id": 2,
"message": "Lonlyness in city!!!"
},
]
}

Где "authors" я добавил от себя для примера. В обоих вариантах есть массив из двух записей. Эти две записи передаются? Если да, то выяснить, в каком точно виде. И третью запись удобнее добавлять к ним не правкой полученного из 2 записей JSON, а сделать Map из 3 записей и её преобразовать.
...
Рейтинг: 0 / 0
18.10.2015, 00:18
    #39079220
Dr.Hofmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
Ребят, вы меня простите за эту квадратную скобку, но здесь передается объект, а не массив который должен добавиться в мап.
автор{
"author": "Mike",
"id": 3,
"message": "Go ahead punks!!!"
}

Я просто изначально возвращал массив всех объектов из коллекции что бы на его базе добавить новый, оттуда и появилась эта скобка.
Этого не происходит поэтому задал здесь вопрос.
...
Рейтинг: 0 / 0
18.10.2015, 17:28
    #39079417
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON ошибка синтаксиса
Dr.Hofmann, а мы, наверное, должны догадаться, каким образом вы передаете запрос.
В запросе точно указано в заголовке Content-Type, что в теле запроса передается application/json ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JSON ошибка синтаксиса / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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