Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只显示特定的json信息_Javascript_Jquery_Json - Fatal编程技术网

Javascript 只显示特定的json信息

Javascript 只显示特定的json信息,javascript,jquery,json,Javascript,Jquery,Json,我对javascript不是很熟悉。我将知道如何显示特定信息 结果显示了完整的json信息,但我只想要其中的答案 多谢各位 "fulfillment": { "speech": "Sorry, can you say that again?", "messages": [ { "type": 0, "speech": "Sorry, can you say that again?" ==> answer

我对javascript不是很熟悉。我将知道如何显示特定信息

结果显示了完整的json信息,但我只想要其中的答案

多谢各位

"fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, can you say that again?" ==> answer
        }
      ]
我的javascript

<html>
<head>
  <title>API Example</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script type="text/javascript">
    var accessToken = "xxxxxxxxxxxxxxxxxxx";
    var baseUrl = "https://api.api.ai/v1/";
    $(document).ready(function() {
      $("#input").keypress(function(event) {
        if (event.which == 13) {
          event.preventDefault();
          send();
        }
      });
      $("#rec").click(function(event) {
        switchRecognition();
      });
    });
    var recognition;
    function startRecognition() {
      recognition = new webkitSpeechRecognition();
      recognition.onstart = function(event) {
        updateRec();
      };
      recognition.onresult = function(event) {
        var text = "";
        for (var i = event.resultIndex; i < event.results.length; ++i) {
          text += event.results[i][0].transcript;
        }
        setInput(text);
        stopRecognition();
      };
      recognition.onend = function() {
        stopRecognition();
      };
      recognition.lang = "en-US";
      recognition.start();
    }

    function stopRecognition() {
      if (recognition) {
        recognition.stop();
        recognition = null;
      }
      updateRec();
    }
    function switchRecognition() {
      if (recognition) {
        stopRecognition();
      } else {
        startRecognition();
      }
    }
    function setInput(text) {
      $("#input").val(text);
      send();
    }
    function updateRec() {
      $("#rec").text(recognition ? "Stop" : "Speak");
    }
    function send() {
      var text = $("#input").val();
      $.ajax({
        type: "POST",
        url: baseUrl + "query?v=20150910",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        headers: {
          "Authorization": "Bearer " + accessToken
        },
        data: JSON.stringify({ query: text, lang: "en", sessionId: "somerandomthing" }),
        success: function(data) {
          setResponse(JSON.stringify(data, undefined, 2));
        },
        error: function() {
          setResponse("Internal Server Error");
        }
      });
      setResponse("Loading...");
    }
    function setResponse(val) {
      $("#response").text(val);
    }
  </script>
  <style type="text/css">
    body { width: 500px; margin: 0 auto; text-align: center; margin-top: 20px; }
    div {  position: absolute; }
    input { width: 400px; }
    button { width: 50px; }
    textarea { width: 100%; }
  </style>
</head>
<body>
<div>
  <input id="input" type="text"> <button id="rec">Speak</button>
  <br>Response<br> <textarea id="response" cols="40" rows="20"></textarea>
</div>
</body>
</html>

如果服务器的答案是JSON,那么您只需使用所需的属性调用setResponse函数(在您的示例中)

setResponse(data.result.fulfillment.messages[0].speech);

在您显示的情况下,传递给函数的参数将是:再一次?

假设数据是结果块中显示的JSON,则需要data.result.fulfillment.messages[0]。speechyes我需要更改什么?
setResponse(data.result.fulfillment.messages[0].speech);