Что такое JSON и зачем мне его использовать? - PullRequest
513 голосов
/ 20 декабря 2008

Я посмотрел википедию, гуглил и прочитал официальную документацию, но до сих пор не дошел до того, что действительно понимаю, что такое JSON и почему я его использую.

Я некоторое время создавал приложения, используя PHP, MySQL и Javascript / HTML, и если JSON может что-то сделать, чтобы облегчить мою жизнь, улучшить мой код или улучшить пользовательский интерфейс, я бы хотел узнать об этом. , Может ли кто-нибудь дать мне краткое объяснение?

Ответы [ 16 ]

4 голосов
/ 20 декабря 2008

Мы должны сделать проект в колледже, и мы столкнулись с очень большой проблемой, которая называется «Политика единого происхождения». Помимо прочего, он делает так, что ваш метод XMLHttpRequest из Javascript не может делать запросы к доменам, отличным от домена, на котором находится ваш сайт.

Например, вы не можете сделать запрос на www.otherexample.com, если ваш сайт находится на www.example.com. JSONRequest позволяет это, но вы получите результат в формате JSON, если этот сайт позволяет это (например, у него есть веб-служба, которая возвращает сообщения в формате JSON). Это одна из проблем, когда вы могли бы использовать JSON, возможно.

Вот что-то практичное: Yahoo JSON

2 голосов
/ 29 марта 2018

Иногда техническая информация дается там, где она не требуется, и хотя многие из ответов, набравших наибольшее количество голосов, носят точный технический и конкретный характер, я лично не думаю, что они более легки для понимания или кратки, чем то, что можно найти в Википедии или в официальной документации.

Мне нравится думать о JSON, это именно то, чем он является - язык в мире разных языков. Однако разница между JSON и другими языками заключается в том, что «все» «говорят на JSON вместе со своим« родным языком ».

Используя пример из реального мира, давайте представим, что у нас есть три человека. Один человек говорит на игбо как на родном языке. Второй человек хотел бы общаться с первым человеком, однако первый говорит на йоруба как на своем родном языке.

Что мы можем сделать?

К счастью, в нашем примере третье лицо выросло на английском, но также, как оказалось, говорит и игбо и йоруба как вторые языки, и поэтому может выступать в качестве посредника между первыми двумя людьми.

В мире программирования первый «человек» - это Python, второй «человек» - это Ruby, а третий «человек» - это JSON, который, как оказалось, способен «перевести» Ruby на Python и наоборот. ! Очевидно, что эта аналогия не идеальна, но как человек, говорящий на двух языках, я считаю, что это простой способ взглянуть на то, как JSON взаимодействует с другими языками программирования.

2 голосов
/ 20 ноября 2015

JSON (нотация объектов Javascript) - это легкий формат данных для обмена / передачи данных. Его в паре ключ-значение, как в JavaScript. Для REST API его широко используют для передачи данных с сервера на клиент. В настоящее время многие из социальных сетей используют это. Хотя я не считаю это таким же надежным, как XML, в отношении типов данных. XML имеет очень богатые типы данных и XSD. JSON в этом немного не хватает.

При одинаковом количестве строковых данных JSON будет легче по сравнению с XML, поскольку в XML есть все открывающие и закрывающие теги и т. Д.

2 голосов
/ 25 июня 2009

Это очень просто. JSON обозначает Java Script Object Notation. Думайте об этом как об альтернативе использованию XML для передачи данных между программными компонентами.

Например, я недавно написал несколько веб-сервисов, которые возвращали JSON, и некоторые разработчики Javascript затем написали код, который вызывал сервисы и использовал информацию, возвращенную в этом формате.

0 голосов
/ 05 марта 2019

В контексте Java одной из причин, по которой JSON может потребоваться, является то, что он предоставляет очень хорошую альтернативу инфраструктуре сериализации Java, которая (исторически) была подвержена некоторым довольно серьезным уязвимостям.

Джошуа Блох подробно обсуждает это в пункте 85 «Предпочитают альтернативы сериализации Java» (Effective Java 3rd Edition)

Сериализация Java изначально предназначалась для перевода структур данных в формат, который можно легко передавать или хранить. JSON отвечает этому требованию, без серьезных подвигов, упомянутых выше.

0 голосов
/ 29 августа 2017

Попробуйте следующий код для анализа вашего ответа php json: read.php

<script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>
<script type="text/javascript">  
$.ajax({
    url:'index.php',
    data:{},
    type:"POST",
    success:function(result) {
        jsondecoded = $.parseJSON(result);
        $.each(jsondecoded, function(index, value) {
            $("#servers").text($("#servers").text() + " " + value.servername);
            console.log(value.start);
            console.log(value.end);
            console.log(value.id);
        });
    },
    statusCode: {
    404: function() {
      alert( "page not found" );
    }
  }
});
</script>

server.php

<?php 
echo '[{"start":"2017-08-29","end":"2017-09-01","id":"22"},{"start":"2017-09-03","end":"2017-09-06","id":"23"}]';
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...