В соответствии с эта ссылка на yasm (см. Ссылки на память) у вашего NASM может возникнуть проблема с определением размера ссылки на память:
Обычно размер ссылка на память может быть выведена с помощью каких регистров, которые вы перемещаете - например, «mov [rax], ecx» - это 32-битное перемещение, потому что ecx - 32 бита. YASM в настоящее время дает неочевидную ошибку «неправильная комбинация опкодов и операндов», если она не может определить, сколько памяти вы двигаете. Исправление в этом случае заключается в том, чтобы добавить спецификатор размера памяти: qword, dword, word или byte.
Ниже приведено 64-битное перемещение памяти, которое устанавливает 8 байт, начиная с rax:
mov qword [rax], 1
Вот 32-битный ход памяти, который устанавливает 4 байта:
mov dword [rax], 1
Вот 16-битный ход памяти, который устанавливает 2 байта:
mov word [rax], 1
Вот 8-битный ход памяти, который устанавливает 1 байт:
mov byte [rax], 1
JSON (Объектная нотация JavaScript) является легким форматом, который используется для обмена данных. Это основано на подмножестве языка сценариев JavaScript (способ, которым объекты создаются в JavaScript). Как [1 112] указанный в MDN, некоторый JavaScript не является JSON, и некоторым JSON не является JavaScript.
примером того, где это используется, являются ответы веб-сервисов. В 'старые' дни веб-сервисы использовали XML в качестве своего формата первичных данных для передачи назад данных, но так как JSON появился (, формат JSON определяется в [1 113] RFC 4627 Douglas Crockford ), это был предпочтительный формат, потому что это - намного больше легкий вес
, можно найти намного больше информации о чиновнике веб-сайт JSON .
JSON основан на двух структурах:
Вот пример данных JSON:
{
"firstName": "John",
"lastName": "Smith",
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567"
]
}
<час> JSON (в JavaScript) является строкой!
Люди часто предполагают, что все объекты JavaScript являются JSON и что JSON является объектом JavaScript. Это неправильно.
В Javascript var x = {x:y}
не JSON, это объект JavaScript . Эти два не являются тем же самым. Эквивалент JSON (представленный на языке сценариев JavaScript) был бы var x = '{"x":"y"}'
. x
объект строки типа не объект в своем собственном праве. Для превращения это в полностью оперенный JavaScript возражает, что необходимо сначала проанализировать его, var x = JSON.parse('{"x":"y"}');
, x
теперь объект, но это больше не JSON.
Видят объект JavaScript По сравнению с <часом> JSON
При работе с JSON и JavaScript, можно испытать желание использовать эти eval
функция для оценки результата, возвращенного в обратном вызове, но это не предлагается, так как существует два символа (U+2028 & U+2029) допустимый в JSON, но не в JavaScript (читает больше из этого здесь ).
Поэтому нужно всегда пытаться использовать сценарий Crockford, который проверяет на допустимый JSON прежде, чем оценить его. Свяжитесь с объяснением сценария, найден здесь и здесь прямая ссылка в js файл. Каждый главный браузер в наше время имеет его собственная реализация для этого.
Пример о том, как использовать синтаксический анализатор JSON (с json от вышеупомянутого фрагмента кода):
//The callback function that will be executed once data is received from the server
var callback = function (result) {
var johnny = JSON.parse(result);
//Now, the variable 'johnny' is an object that contains all of the properties
//from the above code snippet (the json example)
alert(johnny.firstName + ' ' + johnny.lastName); //Will alert 'John Smith'
};
синтаксический анализатор JSON также предлагает другой очень полезный метод, stringify
. Этот метод принимает объект JavaScript в качестве параметра, и выводы поддерживают строку форматом JSON. Это полезно для того, когда Вы хотите к [1 149], передают данные обратно серверу:
var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}
вышеупомянутые два метода (parse
и stringify
) также берут второй параметр, который является функцией, которая будет вызвана для каждого ключа и значения на каждом уровне конечного результата, и каждое значение будет заменено результатом Вашей введенной функции. (Больше на этом здесь )
Btw, для всех Вас там, кто думает, JSON только для JavaScript, проверьте это сообщение , который объясняет и подтверждает иначе.
<час>Мы должны сделать проект в колледже, и мы столкнулись с очень большой проблемой, это называют Той же политикой Источника. Amog другие вещи, это делает тот Ваш метод XMLHttpRequest из JavaScript, не может выполнить запросы к доменам кроме домена, что Ваш сайт идет.
, Например, Вы не можете выполнить запрос на www.otherexample.com, если Ваш сайт находится на www.example.com. JSONRequest признает, что, но Вы получите результат в формате JSON, если тот сайт признает что (например, это имеет веб-сервис, который возвращает сообщения в JSON). Это - одна проблема, где Вы могли использовать JSON, возможно.
Вот что-то практическое: Yahoo JSON
общий короткий ответ: при использовании Ajax для выполнения запросов данных, можно легко отправить и эхо-сигналы как строки JSON. Доступные расширения для поддержки JavaScript toJSON () обращаются ко всем типам данных JavaScript для отправки данных к серверу в запросе Ajax. Ответы Ajax могут эхо-сигналы как строки JSON, которые могут быть преобразованы в объекты JavaScript простым вызовом оценки, например, если бы функция Ajax someAjaxFunctionCallReturningJson возвратилась
"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"
, то Вы могли бы записать в Javascript
var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);
JSON, может также использоваться для полезных нагрузок веб-сервиса и др., но это действительно удобно для результатов Ajax.
JSON является Объектная нотация JavaScript. Это - очень компактный способ передать наборы данных через сетевые соединения по сравнению с XML. Я предлагаю, чтобы JSON использовались в любых подобных AJAX приложениях, где XML иначе был бы "рекомендуемой" опцией. Многословие XML добавит ко времени загрузки и увеличенному потреблению пропускной способности ($$$). Можно выполнить тот же эффект с JSON, и его разметка почти исключительно выделена самим данным а не глубинной структуре.
Короче говоря, это - нотация сценариев для передающих данных о. До некоторой степени альтернатива XML, исходно поддерживая типы основных данных, массивы и ассоциативные массивы (пары "имя-значение", названные Объектами, потому что, именно это они представляют).
синтаксис - то, что используемый в JavaScript и самом JSON обозначает "Объектную нотацию JavaScript". Однако это стало портативным и используется на других языках также.
полезная ссылка А для детали здесь:
Короче говоря - JSON является способом сериализировать таким способом, что это становится кодом JavaScript. Когда выполняется (с оценкой или иначе), этот код создает и возвращает объект JavaScript, который содержит данные, которые Вы сериализировали. Это доступно, потому что JavaScript позволяет следующий синтаксис:
var MyArray = [ 1, 2, 3, 4]; // MyArray is now an array with 4 elements
var MyObject = {
'StringProperty' : 'Value',
'IntProperty' : 12,
'ArrayProperty' : [ 1, 2, 3],
'ObjectProperty' : { 'SubObjectProperty': 'SomeValue' }
}; // MyObject is now an object with property values set.
можно использовать это в нескольких целях. Для одного это - удобный способ передать данные от Вашего бэкенда сервера до Вашего кода JavaScript. Таким образом это часто используется в Ajax.
можно также использовать его в качестве автономного механизма сериализации, который более прост и занимает меньше места, чем XML. Многие библиотеки существуют, которые позволяют Вам сериализировать и десериализовывать объекты в JSON для различных языков программирования.
мне нравится JSON главным образом, потому что это настолько кратко . Для веб-контента, который может быть gzipped, это - не обязательно грандиозное предприятие (следовательно, почему x HTML так популярен). Но существуют случаи, где это может быть выгодно.
, Например, для одного проекта я передавал информацию, которая должна была быть сериализирована и передана через XMPP. Так как большинство серверов ограничит объем данных, который можно передать в единственном сообщении, я нашел полезным использовать JSON по очевидной альтернативе, XML.
, Поскольку добавленная премия, если Вы знакомы с Python или JavaScript, Вы уже в значительной степени, знает JSON и может интерпретировать его без большого обучения вообще.
Это очень просто. JSON расшифровывается как Java Script Object Notation. Думайте об этом как об альтернативе использованию XML для передачи данных между программными компонентами.
Например, я недавно написал несколько веб-сервисов, возвращающих JSON, и некоторые разработчики Javascript затем написали код, который вызывал сервисы и использовал информацию, возвращенную в этом формате.