от NIVAL, INC.
Цена: БесплатноУстройства: iPhone, iPad
Сюжет игры развивается в классическом «мире меча и магии», где участнику придётся победить во множестве схваток и сражений, в том числе и магических, а также пройти интересные встроенные квесты. Интеграция в Facebook позволяет играть под единым аккаунтом, а внутренний чат поддерживает общение с участниками по всему миру. Высококачественная 3D графика, отличное звуковое сопровождение и захватывающий геймплей привлекли в игру сотни тысяч пользователей.
Версия: 1.10.80 от 21 августа 2012
Язык: Русский
Размер: 797 Мб
Возраст: 12+
Официальный сайт: http://www.playkb.com
Видеообзор и инструкция
Добавить видеоролик
Для этого приложения пока не указаны ссылки
Добавить ссылку
I’m working on an application that allows data transfer from Android to PHP server and I don’t know why it doesn’t support JSON?
Here is my code:
<?php
JSON.parse();
$decode = json_decode($_REQUEST['request']);
$json = $decode->name;
header('Content-type:application/json');
echo json_encode($json);
?>
asked Mar 29, 2016 at 11:20
1
check your JSON at http://jsonlint.com
If the JSON is valid than your php code may not be correct.
Show some code for specifics.
answered Mar 29, 2016 at 11:24
You can send Json data as string from android using following code :
BufferedReader reader = null;
// Send data
try {
/* forming th java.net.URL object */
URL url = new URL(this.url);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setRequestMethod("POST");
urlConnection.connect();
/* pass post data */
byte[] outputBytes = jsonData.toString().getBytes("UTF-8");
OutputStream os = urlConnection.getOutputStream();
os.write(outputBytes);
os.close();
/* Get Response and execute WebService request*/
int statusCode = urlConnection.getResponseCode();
/* 200 represents HTTP OK */
if (statusCode == HttpsURLConnection.HTTP_OK) {
inputStream = new BufferedInputStream(urlConnection.getInputStream());
ResponseData= convertStreamToString(inputStream);
} else {
ResponseData = null;
}
and in php,you can get data by adding following code :
$post_body = file_get_contents('php://input');
$post_body = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($post_body));
$reqData[] = json_decode($post_body);
$postData = $reqData[0];
echo $postData->name;
answered Mar 29, 2016 at 11:46
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Я хочу получить доступ к странице JSON продукта в приложении JD Sport. Для этого я использовал приложение Charles
, которое позволило мне получить следующий URL-адрес и все заголовки, необходимые для доступа к этой странице:
https://prod.jdgroupmesh.cloud/stores/jdsportsfr/products/15958093_jdsportsfr
Когда я хочу получить доступ к странице JSON через мой следующий скрипт Python, страница возвращает эту ошибку:
{'error': {'message': 'API key is not valid. Request authorization failed. Bad MAC'}}
Я не понимаю, что мне нужно сделать, чтобы получить информацию на странице JSON.
Заранее спасибо
import requests
import json
headers = {
'Host': 'prod.jdgroupmesh.cloud',
'X-NewRelic-ID': 'VQYDUFVWDRABVFVRBwMOV10=',
'Accept': '*/*',
'Connection': 'keep-alive',
'X-API-Key': 'B3B51B56ADC34016A6FEF7F8C337B836',
'mesh-version': 'cart=4',
'MESH-Commerce-Channel': 'iphone-app',
'User-Agent': 'jdsportsfr/6.8.5.2214 (iphone-app; iOS 14.4)',
'Accept-Language': 'fr-fr',
'Accept-Encoding' : 'gzip, deflate, br',
'X-Request-Auth': 'Hawk id="f2188a5b06", mac="V/227yl11UzqV0Wr3Mb0A8SeOVeN94vY1QEXLEucBXc=", ts="1613150841", nonce="8ZZJMN"',
'mesh-version': 'cart=4'
}
params = (
('expand', 'variations,informationBlocks,customisations'),
('channel', 'iphone-app'),
)
stock_json_raw = requests.get('https://prod.jdgroupmesh.cloud/stores/jdsportsfr/products/15958093_jdsportsfr/imageSpinSet',headers=headers, params=params).text.strip()#, headers=headers, params=params).text.strip()
stock_json = json.loads(stock_json_raw)
print(stock_json)
1 ответ
Вам нужно использовать ирокез, способ аутентификации на серверах. Вам нужно будет получить ключи сетки для него. Тогда вы сможете сгенерировать с его помощью весь заголовок x-request-auth.
0
Safeer Abbas
1 Мар 2021 в 04:53
Я использую httpclient WebApi для создания библиотеки API .net для использования с веб-службой REST.
Остальная служба возвращает JSON.
У меня проблема в том, что для одного запроса я могу получить разные форматы JSON.
Если запрос был успешным, я возвращаю массив JSON, который я создал для его хранения в строгом типе С#.
Использование метода ReadAsAsync< T > для извлечения его из содержимого.
Если в запросе указан неверный ключ API или произошла другая ошибка, остальная служба возвращает объект JSON с некоторыми свойствами, такими как статус = ошибка, поясняющее сообщение и т. д.
Я не могу просто использовать метод ReadAsAsync< T >, так как не знаю, какой формат возвращается. Я мало что знаю о библиотеке JSON linq, но есть ли способ поместить ответ JSON в какой-либо объект держателя JSON, а затем проверить, есть ли в нем статус = ошибка, а затем использовать правильную десериализацию для моего сильного типа.
Кажется, я могу сохранить его в объекте JRaw, но не знаю, куда идти дальше.
Большое спасибо.
Привет! Не могли бы вы показать логи графана-сервера?
Привет,
Да, конечно, вот несколько логов:
t = 2020-07-27T14: 38: 10 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 5 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 214 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
t = 2020-07-27T14: 38: 10 + 0200 lvl = eror msg = «Ошибка аутентификации Zabbix» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка произошла на сервере, когда анализ текста JSON «.
t = 2020-07-27T14: 38: 10 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-27T14: 38: 10 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 5 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 180 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
t = 2020-07-27T14: 44: 35 + 0200 lvl = eror msg = «Ошибка аутентификации Zabbix» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка произошла на сервере, когда анализ текста JSON «.
t = 2020-07-27T14: 44: 35 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-27T14: 44: 35 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 5 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 136 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
t = 2020-07-27T15: 02: 21 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-27T15: 02: 21 + 0200 lvl = eror msg = «Запрос завершен» регистратор = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 1 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 132 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
t = 2020-07-27T15: 02: 21 + 0200 lvl = eror msg = «Ошибка аутентификации Zabbix» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка произошла на сервере, когда анализ текста JSON «.
t = 2020-07-27T15: 02: 21 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-27T15: 02: 21 + 0200 lvl = eror msg = «Запрос завершен» регистратор = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 1 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 124 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
t = 2020-07-27T15: 02: 25 + 0200 lvl = eror msg = «Ошибка аутентификации Zabbix» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка произошла на сервере, когда анализ текста JSON «.
t = 2020-07-27T15: 02: 25 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-27T15: 02: 25 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 13 orgId = 1 uname = xyz method = POST path = / api / datasources / 1 / resources / zabbix- api status = 500 remote_addr = xxxx time_ms = 116 size = 132 referer = » https: //grafana.xx/dashboard/new? editPanel = 2 & orgId = 1 «
Хорошо, спасибо за подробности, я постараюсь воспроизвести это.
Не могли бы вы также включить ведение журнала отладки в графане и журналах публикации? Интересно, какой метод api возвращает ошибку.
У меня мало информации в журнале отладки
t = 2020-07-28T14: 32: 38 + 0200 lvl = dbug msg = «Получена команда для обновления источника данных» logger = datasources url = https: //zabbix.lan/api_jsonrpc.php
t = 2020-07-28T14: 32: 38 + 0200 lvl = dbug msg = «Применение синтаксического анализа URL по умолчанию для этого типа источника данных» logger = datasource type = alexanderzobnin-zabbix-datasource url = https: //zabbix.lan/api_jsonrpc .php
t = 2020-07-28T14: 32: 39 + 0200 lvl = dbug msg = «Настройки источника данных изменены» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource id = 9.000 name = Zabbix org = 1.000
t = 2020-07-28T14: 32: 39 + 0200 lvl = dbug msg = «Инициализация источника данных» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource name = Zabbix org = 1.000 id = 9.000
t = 2020-07-28T14: 32: 39 + 0200 lvl = dbug msg = «Вызов запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource ds = Zabbix method = apiinfo.version
t = 2020-07-28T14: 32: 39 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-28T14: 32: 39 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 3 orgId = 1 uname = usergrafana method = POST path = / api / datasources / 9 / resources / zabbix- api status = 500 remote_addr = «» time_ms = 139 size = 132 referer = https: //grafana.lan/datasources/edit/9/
t = 2020-07-28T14: 32: 39 + 0200 lvl = dbug msg = «Вызов запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource ds = Zabbix method = apiinfo.version
t = 2020-07-28T14: 32: 39 + 0200 lvl = eror msg = «Ошибка запроса Zabbix API» logger = plugins.backend pluginId = alexanderzobnin-zabbix-datasource error = «Ошибка синтаксического анализа Недействительный JSON. Ошибка на сервере при анализе текста JSON «.
t = 2020-07-28T14: 32: 39 + 0200 lvl = eror msg = «Запрос завершен» logger = context userId = 3 orgId = 1 uname = usergrafana method = POST path = / api / datasources / 9 / resources / zabbix- api status = 500 remote_addr = «» time_ms = 85 size = 132 referer = https: //grafana.lan/datasources/edit/9/
@alexanderzobnin что еще нужно для отладки?
Привет,
Вот данные поста:
И ответ:
Мне удавалось повторить это в некоторых случаях, но я до сих пор не понимаю, почему это происходит. Дай мне немного больше времени, чтобы разобраться.
Есть ли у вас какой-нибудь прокси за Zabbix? Я увижу это, если запрошу zabbix.org:
# curl -k -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":10}' http://www.zabbix.org/zabbix/api_jsonrpc.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://zabbix.org/zabbix/api_jsonrpc.php">here</a>.</p>
<hr>
<address>Apache/2.2.29 (Linux/SUSE) Server at www.zabbix.org Port 80</address>
</body></html>
Если я добавлю флаг -L
для отслеживания перенаправлений, то получу ту же ошибку:
# curl -k -L -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":10}' http://www.zabbix.org/zabbix/api_jsonrpc.php
{"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid Request.","data":"The received JSON is not a valid JSON-RPC Request."},"id":null}
Но если я запрошу https://zabbix.org/zabbix/api_jsonrpc.php
напрямую, это сработает:
# curl -k -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":2}' https://zabbix.org/zabbix/api_jsonrpc.php
{"jsonrpc":"2.0","result":"4.2.0","id":2}
Получается, что прокси перенаправляет запрос с изменениями, что приводит к неправильному запросу.
Привет,
Нет, у меня нет прокси за zabbix.
Я пробовал ту же команду, что и ваша, с сервера grafana, с тем же URL-адресом, который указан в конфигурации источника данных:
curl -k -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":10}' https://zabbix.mydomain/api_jsonrpc.php
И это работает:
{"jsonrpc":"2.0","result":"5.0.1","id":10}
Это странно. Не могли бы вы проверить это на другом Zabbix сервере?
С zabbix.org вроде работает:
Итак, проблема связана с моим сервером zabbix? Перейду на 5.0.3, может это ошибка 5.0.1 …
Та же проблема после обновления в 5.0.3 …
Мой сервер zabbix находится на 4.2.6, и у меня такая же проблема.
Кстати, на какой ОС вы используете Grafana?
Кроме того, это может быть связано с SSL, поэтому попробуйте установить параметр Skip TLS Verify
.
Моя Grafana работает на CentOS 7.8.
Та же ошибка при включении опции Skip TLS Verify
. Но, кстати, этот параметр, похоже, не работает, потому что, если я изменю URL-адрес, установив IP вместо имени домена, он вернет следующую ошибку, даже если включена опция Skip TLS Verify
…
Post https://192.168.x.y/api_jsonrpc.php: x509: cannot validate certificate for 192.168.x.y because it doesn't contain any IP SANs
Та же ошибка, если я поставлю другое доменное имя (которое является псевдонимом длинного DN):
Post https://zabbix/api_jsonrpc.php: x509: certificate is valid for zabbix.mydomain, not zabbix
Таким образом, похоже, что опция Skip TLS Verify
игнорируется
Сейчас я продолжаю отладку. Я нашел способ регистрировать все запросы на zabbix api. Я вижу, что запросы, поступающие от grafana к zabbix api, не имеют данных:
ACCEPT-ENCODING: gzip
CONTENT-TYPE: application/json
TRANSFER-ENCODING: chunked
USER-AGENT: Go-http-client/1.1
HOST: zabbix.mydomain
в то время как запросы, поступающие из другого приложения, имеют данные:
CONTENT-LENGTH: 277
CONTENT-TYPE: application/json
ACCEPT: */*
HOST: zabbix.mydomain
{"jsonrpc":"2.0","method":"trigger.get","params":{"monitored":true,"only_true":1,"min_severity":1,"sortfield":["lastchange"],"sortorder":"DESC","withLastEventUnacknowledged":true,"expandDescription":true,"selectHosts":["name"]},"id":1,"auth":"***"}
Заголовки тоже не те … Может это поможет?
Изменить: я обновил плагин до версии 4.0.0 (последней версии).
Это выглядит странно. Может это связано с go-http-клиентом. Я тоже это проверю.
Та же проблема после обновления до 4.0.0, zabbix 5.0.3 и grafana 7.1.5 (Centos 7.8). На версии 3.12.3 ошибки не было.
@Shmakovm вы используете https на сервере Zabbix?
@Shmakovm вы используете https на сервере Zabbix?
Да, я использую https с внутренним сертификатом ЦС.
Это то же самое, что я использовал с версией плагина 3.12.3, и все работало.
@Shmakovm вы использовали опцию Skip TLS Verify
с 3.12? Я обнаружил, что это не работает с 4.0, потому что мне нужно реализовать его на стороне сервера.
Протестировано на нескольких экземплярах Zabbix.
1-й экземпляр v4 Zabbix (без прокси, без ssl) — Работает на Grafana
Второй экземпляр v5 Zabbix хлопотно (имеет Zabbix прокси , но это не связано с веб — интерфейсе, с собственно SSL сертификат подстановочные (купил один)) — Ошибки ,
3-й — Zabbix Appliance v5 прямо с веб-сайта Zabbix, без SSL нет проблем. — Работает на Grafana
Я также попробовал неработающий с протоколом HTTP (отключил https, похоже, это не устранило проблему).
Сертификат SSL настроен правильно (открытый ключ также содержит корневые общедоступные сертификаты)
Пропуск TLS Verify не помогает решить проблему.
Также я проверил журналы Zabbix, в нем указано 200 HTTP-кодов (журналы httpd), а не 500, как говорится на сайте Grafana (ошибки javascript разработчика Chrome).
Да, похоже, это не связано с проверкой сертификата SSL. Я попытался протестировать его на Zabbix 5.0.2 из официального контейнера докеров и добавил самозаверяющий сертификат. Я получаю эту ошибку при тестировании источника данных:
Post "https://localhost:8189/api_jsonrpc.php": x509: certificate signed by unknown authority
Если я добавлю InsecureSkipVerify
в конфигурацию http-клиента, то все
Так как он работает с 3.12 (где grafana отправляет запрос), но не работает с 4.0 (где серверная часть плагина отправляет запрос), должна быть некоторая разница между тем, как grafana выполняет запрос, и тем, как плагин делает то же самое.
Но я все еще не могу воспроизвести эту ошибку, чтобы выяснить ее, поэтому любые подробности о вашей среде были бы очень полезны.
@Shmakovm вы использовали опцию
Skip TLS Verify
с 3.12? Я обнаружил, что это не работает с 4.0, потому что мне нужно реализовать его на стороне сервера.
Нет, не знал.
например, как работает завиток.
Как вы добавили опцию InsecureSkipVerify
? Может, мы могли бы попробовать то же самое?
Что касается моего окружения:
Grafana (7.1.5) работает на:
Centos 7,8
локальный центр сертификации является доверенным
Zabbix (5.0.3) работает на:
Centos 7,8
httpd 2.4.6
Сертификат HTTP, подписанный локальным центром сертификации
Если вам нужна другая информация, просто скажите мне;)
@ mplm17 Я сделал это в исходниках Все равно исправлю поддержку HTTP-опций. Было бы неплохо, если бы кто-то мог собирать следы HTTP-запросов, которые бэкэнд Grafana отправляет Zabbix.
Пробовал v6.6.1 (21bf8b71bc) grafana, все работает нормально. В нем указано, что версия Zabbix API: 5.0.3. Плагин Grafana Zabbix версии 3.10.5
По крайней мере, я совершенно уверен, что что-то не так со стороны кода плагина.
@alexanderzobnin Если бы кто-то мог собирать следы HTTP-запросов, которые бэкэнд Grafana отправляет Zabbix, было бы неплохо.
Zabbix 5.0.3 Grafana 7.1.5 Плагин 4.0.0
Консольный вывод
nwrdomvs01.zip
nwrdomvs01-1598601861971.log
@achupahin — это журналы браузера. Но мне нужны журналы запросов, которые отправляет бэкэнд-плагин. Собрать не так-то просто, нужно что-то вроде tcpdump или wirehark.
@Prefix да, это определенно проблема с плагином.
@achupahin — это журналы браузера. Но мне нужны журналы запросов, которые отправляет бэкэнд-плагин. Собрать не так-то просто, нужно что-то вроде tcpdump или wirehark.
Я пытаюсь сделать что-то подобное, но это непросто из-за уровня SSL …
@alexanderzobnin Я могу попробовать это сделать — если кто-нибудь поможет с фильтрами tcpdump.
@alexanderzobnin Вот он:
Вот еще 2 примера, которые хорошо работают, поэтому мы можем увидеть различия:
-с почтальоном:
-из другого клиента zabbix api:
С помощью этих выходных данных я попытался воспроизвести проблему на почтальоне, установив те же заголовки, что и в запросах графаны. Кажется, что если установлен заголовок Content-Length, он работает нормально, но если он не установлен, у нас ошибка синтаксического анализа …
Надеюсь, это поможет
@ mplm17 да, это очень полезно, большое спасибо!
Хорошо, попробовал решить. Может ли кто-нибудь проверить это и подтвердить, что ошибка исправлена? Вот встроенный пакет для всех платформ. Просто распакуйте его в папку плагинов grafana.
grafana-zabbix-8f70a0c.zip
@alexanderzobnin Да, работает.
у меня это тоже сработало.
Хорошо, попробовал решить. Может ли кто-нибудь проверить это и подтвердить, что ошибка исправлена? Вот встроенный пакет для всех платформ. Просто распакуйте его в папку плагинов grafana.
grafana-zabbix-8f70a0c.zip
Работа Zabbix 5.0.2 Grafana 7.1.5
Хорошо, попробовал решить. Может ли кто-нибудь проверить это и подтвердить, что ошибка исправлена? Вот встроенный пакет для всех платформ. Просто распакуйте его в папку плагинов grafana.
grafana-zabbix-8f70a0c.zip
Большое спасибо! У меня тоже работает;)
Хорошо, закрываем это. Исправление скоро будет доступно в следующем выпуске.
Была ли эта страница полезной?
0 / 5 — 0 рейтинги
Демо: db<>рабочий пример
Чтобы получить значение gridname, вам нужно расширить свой массив, а затем проверить каждый его элемент:
SELECT
userid,
elems ->> 'layoutname' AS layoutname -- 3
FROM
mytable,
json_array_elements(defaultdata) elems -- 1
WHERE userid = 'user-1' AND elems ->> 'gridname' = 'RT' -- 2
- json_array_elements() расширяет ваш массив JSON до одной строки для каждого элемента.
- Развернутые элементы можно проверить на наличие соответствующих значений и использовать в качестве фильтра.
- После этого вы сможете получить свои данные
Я поигрался с компаратором @>. Я обнаружил, что ваш способ был неплох (при условии, что вы использовали бы тип jsonb вместо json). @> может сделать работу:
SELECT
*
FROM mytable
WHERE defaultdata @> '[{"gridname":"RT"}]'
Демо
Это возвращает весь массив, а не только элемент, содержащий это. Это означает, что если вы будете использовать его таким образом, он вернет массив, в котором любой элемент содержит эту часть.
Чтобы получить один элемент, вам нужно расширить его, что вы уже сделали. Ваша единственная проблема заключалась в том, что вы использовали не расширенные элементы в предложении WHERE, а исходные данные. Использование расширенных элементов приведет к этому запросу:
SELECT
userid,
elems ->> 'layoutname' AS layoutname
FROM mytable,
jsonb_array_elements(defaultdata) elems
WHERE userid = 'user-1' AND elems @> '{"gridname":"RT"}'
Демо
И это прекрасно работает!
- Trending with Friends
-
Activity Feed
Register or sign in to start receiving activity updates from around Kongregate!
- Forums
I’m working on an application that allows data transfer from Android to PHP server and I don’t know why it doesn’t support JSON?
Here is my code:
<?php
JSON.parse();
$decode = json_decode($_REQUEST['request']);
$json = $decode->name;
header('Content-type:application/json');
echo json_encode($json);
?>
asked Mar 29, 2016 at 11:20
1
check your JSON at http://jsonlint.com
If the JSON is valid than your php code may not be correct.
Show some code for specifics.
answered Mar 29, 2016 at 11:24
You can send Json data as string from android using following code :
BufferedReader reader = null;
// Send data
try {
/* forming th java.net.URL object */
URL url = new URL(this.url);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setRequestMethod("POST");
urlConnection.connect();
/* pass post data */
byte[] outputBytes = jsonData.toString().getBytes("UTF-8");
OutputStream os = urlConnection.getOutputStream();
os.write(outputBytes);
os.close();
/* Get Response and execute WebService request*/
int statusCode = urlConnection.getResponseCode();
/* 200 represents HTTP OK */
if (statusCode == HttpsURLConnection.HTTP_OK) {
inputStream = new BufferedInputStream(urlConnection.getInputStream());
ResponseData= convertStreamToString(inputStream);
} else {
ResponseData = null;
}
and in php,you can get data by adding following code :
$post_body = file_get_contents('php://input');
$post_body = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($post_body));
$reqData[] = json_decode($post_body);
$postData = $reqData[0];
echo $postData->name;
answered Mar 29, 2016 at 11:46
от NIVAL, INC.
Цена: БесплатноУстройства: iPhone, iPad
Сюжет игры развивается в классическом «мире меча и магии», где участнику придётся победить во множестве схваток и сражений, в том числе и магических, а также пройти интересные встроенные квесты. Интеграция в Facebook позволяет играть под единым аккаунтом, а внутренний чат поддерживает общение с участниками по всему миру. Высококачественная 3D графика, отличное звуковое сопровождение и захватывающий геймплей привлекли в игру сотни тысяч пользователей.
Версия: 1.10.80 от 21 августа 2012
Язык: Русский
Размер: 797 Мб
Возраст: 12+
Официальный сайт: http://www.playkb.com
Геймплей игры
Видеообзор и инструкция
Добавить видеоролик
Для этого приложения пока не указаны ссылки
Добавить ссылку
Торин Оакеншильд
9 лет назад
Уважаемые #@$&🤬! Две проблемы. 1) при распаковке кэша пишет: «неверная контрольная сумма в com.kranx.kbl/files/UnityCache/Shared/ce6d41768f427132a7068ff1532395bda0b917a1/CAB-788a41c5b606b476b8fdf93b7bd35549». Далее, не взирая на это, устанавливаем apk и тут… 2) докачивает ещё 40,9 метра, после чего запускается, объявляет, что версия устарела и выыкидывает в PlayMarket, где нужно согнать ещё 302 метра «обновления». На фига тогда качать отсюда, если проще и быстрее брать сразу с Маркета?
0