Опубликовать массив Json в URL - PullRequest
0 голосов
/ 31 мая 2018

Можно ли передать JSON в URL-адресе?

Например, у меня есть массив:

data = {  
  "name": "test",
  "user_id": 1
}

Я хочу передать его в URL-адрес, например:

http://example.com/jsonArray

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вы не можете отправить массив JSON напрямую, но вы можете подготовить его так, чтобы он мог быть отправлен в ваш API.Вы превращаете свой JSON в строку и кодируете ее, чтобы она была правильно отформатирована для GET.

// your JSON data
var data = '{"name":"Homer Simpson","status":"Suspended","disciplinary-dates":["2018-01-2","2018-02-14","2018-03-17"]}' ;

// take your JSON, turn it into a string and then encode it 
var urlParams = encodeURIComponent(JSON.stringify(data)) ;

// your URL adding your JSON data as the value
var url = 'http://example.com/?params=' + urlParams ;

На стороне PHP вы будете декодировать

  // note: this code does not have any error checking - you should add it      
  // get your params
  $params = $_GET['params'] ;

  // decode the string
  $decodedParams = urldecode($params) ;

  // turn your string into an array
  $wasJSONAsArray = json_decode($decodedParams, true) ;

  // turn your string into a std object
  $wasJSONAsStdObj = json_decode($decodedParams) ;
0 голосов
/ 31 мая 2018

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

$str = serialize(json_decode($data, true));

И затем передать вам $ str в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...