|
|
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Ребята, с Json работаю впервые. Имеется вопрос. Накидал код для получения ответа, однако в ответ приходит пустой массив, а должен быть с полями и значениями. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Хотя ответ от сервера имеет статус - HTTP/1.1 200 OK Как понять в чем дело ? Есть ли ПО для альтернативного получения? Чтобы хотя бы проверить что оно возвращает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 15:28 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Связаться с разработчиками сервиса и узнать детали работы с ним. Из возможных косяков -- запрос идет почему-то через POST, хотя обычно такие вещи (чтение данных) как раз через GET делаются. Плюс, если это поиск, может надо еще какие настройки указывать (% в начале-конце поисковой строки) или там чуствителен к регистру он и тупо не находит никаких записей (мы ищем с маленькой буквы, а в базе он с большой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 15:44 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
wsnet, wsnetв ответ приходит пустой массивВероятнее всего сам запрос верный, но сервер не может найти такое значение. Варианты: Его нет Поиск регистрозависимый Косяк с кодировкой запроса Косяков много. На сколько они фатальны - вопрос wsnet Код: pascal 1. 2. Создавать объекты нужно ДО try wsnet Код: pascal 1. Какой смысл очищать только-что созданный список? wsnet Код: pascal 1. А вот здесь уже серьезно. Если делфи юникодная, то в стринглист покладется строка в UTF-16. Как ее отправит инди - вопрос. Чтобы не заморачиваться с кодировками, пишите сразу в TStream и именно этот стрим отдавайте инди wsnetКак понять в чем дело ?Для начала смотреть в сниффере, что уходит на сервер wsnetЧтобы хотя бы проверить что оно возвращает ?В том же сниффере можно посмотреть и ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 17:02 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_wsnet, wsnetв ответ приходит пустой массивВероятнее всего сам запрос верный, но сервер не может найти такое значение. Варианты: Его нет Поиск регистрозависимый Косяк с кодировкой запроса Косяков много. На сколько они фатальны - вопрос wsnet Код: pascal 1. 2. Создавать объекты нужно ДО try wsnet Код: pascal 1. Какой смысл очищать только-что созданный список? wsnet Код: pascal 1. А вот здесь уже серьезно. Если делфи юникодная, то в стринглист покладется строка в UTF-16. Как ее отправит инди - вопрос. Чтобы не заморачиваться с кодировками, пишите сразу в TStream и именно этот стрим отдавайте инди wsnetКак понять в чем дело ?Для начала смотреть в сниффере, что уходит на сервер wsnetЧтобы хотя бы проверить что оно возвращает ?В том же сниффере можно посмотреть и ответ Vasilisk_ в точку! Огромное спасибо, после записи в Stream все получилось! Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 07:24 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Теперь не могу отправить json-запрос в видел файла на сервер. Запрос должен иметь вид: автор{ "departmentId": "3DB1BE3B-BED1-49F6-AB4C-D138A81A9505", "isDirect": false, "format": "Electronic", "number": "А26-00-000000000", "createDate": "2016-11-15", "name": "Иванов Иван Иванович", "address": "г. Калуга, ул. Циолковского, д.8", "email": "user@hostname.com", "questions": [ { "code": "0001", "status": "InWork", "incomingDate": "2016-11-16", "registrationDate": "2016-11-17" } ] } Пишу обработчик: Код: pascal 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Получаю json-файл: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. А далее пытаюсь отправить файл на тестовом стенде и получаю ошибку: Код: pascal 1. Но свойство status стоит в нужном месте и определено в том же формате что и предлагается, почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 12:51 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Возьмите библиотечку SuperObject, там синтаксис посахарнее :) Или вот этот форк если среда свежая https://github.com/onryldz/x-superobject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 13:03 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
энди, А смысл брать другую библиотеку ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 13:11 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Как бы вам ответить, для удобства работы и лучшей читаемости кода? Хотя если Вы привыкли работать На чистом winapi то да, не стоит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 13:20 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
энди, меня просто интересует в чем ошибка в моем коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 13:22 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
На выходе получается файл Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 13:23 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
ну тут вроде status есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 14:04 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
вы уверены что у вас questions вообще правильно задается, стремная запись если честно, логичнее было бы [{"code":"0001","status":"InWork","incomingDate":"2016-11-16","registrationDate":"2016-11-17"}] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 14:07 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
энди, А как ее привести к такому виду? Вообще есть разница? Между Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. и этим Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:00 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
и этим Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:01 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Все получилось, энди вы 100% были правы! Код: pascal 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:46 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Выход Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:47 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
На здоровье, но на те библиотечки все же посмотрите, там код получается намного чище да и работать проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:45 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Стоит аналогичная задача. Выполняю Post запрос Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. получаю ответ: Код: xml 1. Как я понимаю проблема кодировкой. Но как ее победить не могу понять. Куда копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 15:22 |
|
||
|
Json-запрос для получения ответа от сервера
|
|||
|---|---|---|---|
|
#18+
Проблема решена. Для нуждающихся: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 16:24 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39475535&tid=2040772]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 462ms |

| 0 / 0 |
