2015-07-17 3 views
1

Я использую веб-версию для загрузки данных из веб-службы RESTful. URL-адрес построен как:Использование URL с квадратными скобками в MatLab

'' http://someurl/service.php?query=data&options

один из вариантов является '& includesensors [] = XXX', где XXX является тип датчика. Эта опция выходит из строя, потому что MatLab преобразует квадратные скобки в '& includesensors% 5B% 5D = XXX'

Любая идея о том, как получить MatLab, чтобы передать эту опцию, не возившись с ней?

+0

Можете ли вы уточнить, есть ли '& includesensors [] = XXX' что-то, что вы вводите или что-то еще? – milez

+0

Если вы не найдете лучшего варианта, я думаю, вы всегда можете просто обработать его с заменой строки: ['strrep ('& includesensors% 5B% 5D = XXX', '% 5B', '[')'] (http://www.mathworks.com/help/matlab/ref/strrep.html) – Dan

+0

@milez Он добавляется к URL-адресу в качестве опции, используя «&». – Carlos

ответ

1

Моя ошибка заключалась в создании URL-адрес, а затем передать его на webread, как:

url = 'http://someurl/service.php?query=data&includesensors[]=XXX' 
data = webread(url); 

что приводит варианты (в том числе «[]») передается в UrlEncode (я предполагаю,)

но правильный способ сделать это:

url = 'http://someurl/service.php'; 
data = webread(url,'query','data','includesensors','XXX'); 

, которая работает должным образом.

0

Попробуйте ввести ваши скобки в скобки: {[}.

Matlab использует форматирование LaTeX. В этом случае квадратные скобки имеют конкретное значение, поэтому вам придется избегать их с помощью фигурных скобок.

+0

Спасибо за предложение @milez. Это не сработало для меня, но я вижу ответ. – Carlos

+0

@ Карлос приятно слышать, как вы его решили – milez