javascript - 如何从列表内的目录中取出值?

标签 javascript java html json polymer

我在代码中使用 JSON、Java 和 polymer 。

当按下我的按钮时,将调用一个函数,并且 java 后端将发送一个“教师”列表。它在我的网站上打印出来,如下所示:

代码:

 handleAjaxResponse(result) {
    this.$.response_text.textContent = JSON.stringify(result.detail.response.docenten);

结果:

[{"docentnaam":"Alex"},{"docentnaam":"Jos"},{"docentnaam":"Dick"},{"docentnaam":"Annemarije"},{"docentnaam":"Martijn"},{"docentnaam":"John"},{"docentnaam":"Bart"},{"docentnaam":"Bart"},{"docentnaam":"Peter"},{"docentnaam":"Dietske"},{"docentnaam":"Peter"}]

它似乎是列表中的目录,我不需要所有这些信息。我唯一需要的是目录内的值。

我的 Java 代码:

	public void handle(Conversation conversation) {
		JsonObject jsonIn = (JsonObject) conversation.getRequestBodyAsJSON();
		String name = jsonIn.getString("user");
		JsonObjectBuilder objBuilder = Json.createObjectBuilder();
		objBuilder.add("message", "The server says: Hi " + name + "!");
		JsonArrayBuilder docentenlijst = Json.createArrayBuilder();
		informatieSysteem.getDocenten().forEach(docent -> docentenlijst.add(Json.createObjectBuilder().add("docentnaam", docent.getVoornaam()).build()));
		objBuilder.add("docenten", docentenlijst.build());
		conversation.sendJSONMessage(objBuilder.build().toString());
	}

我尝试了很多方法来找出如何从中获取值,但没有任何帮助。我希望有人能帮助我。非常感谢。

polymer/html:

<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/paper-radio-button/paper-radio-button.html">
<link rel="import" href="../../bower_components/paper-radio-group/paper-radio-group.html">
<link rel="import" href="../../bower_components/paper-input/paper-input.html">
<link rel="import" href="../../bower_components/paper-button/paper-button.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html">

<dom-module id="my-presentie">
  <template>
    <style>
      :host {
        display: block;
      }

      #lijst {
      position: fixed;
      left: 550px;
      top: 300px;
      }
      #studentenlijst {
      position: fixed;
      left: 850px;
      top: 280px;
      }
    </style>
    <div id="lijst">
      <paper-radio-group selected="klas">
      <paper-radio-button name="v1b">V1B-ICT</paper-radio-button><br>
      <paper-radio-button name="v1c">V1C-ICT</paper-radio-button><br>
      <paper-radio-button name="v1d">V1D-ICT</paper-radio-button><br>
      <paper-radio-button name="v1e">V1E-ICT</paper-radio-button>
    </paper-radio-group>
    <paper-button on-click="clickHandler">Volgende</paper-button><br/>

	</div>

  <div id="studentenlijst">
    <paper-input label="Uw naam:" value="{{name}}"></paper-input>
    <p>Studenten: <span id="response_text"></span></p>
  </div>

   <iron-ajax id="studentenlijst_call" method="POST" url="/example" handle-as="json" on-response="handleAjaxResponse"></iron-ajax>

  </template>

<script>
 /**
 * @customElement
 * @polymer
 */
 class WebappApp extends Polymer.Element {
  static get is() { return 'my-presentie'; }
  static get properties() {
    return {
      name: {
        type: String,
        value: ''
      }
    };
  }
  clickHandler() {
    this.$.studentenlijst_call.contentType="application/json";
    this.$.studentenlijst_call.body = { "user": this.name };
    this.$.studentenlijst_call.generateRequest();
  }

  handleAjaxResponse(result) {
    this.$.response_text.textContent = JSON.stringify(result.detail.response.docenten);
  }
}
window.customElements.define(WebappApp.is, WebappApp);
</script>

</dom-module>

最佳答案

您可以简单地使用 array.map 方法;

 handleAjaxResponse(result) {
    var r = result.detail.response.docenten;
    this.$.response_text.textContent = r.map(o=> {return o.docentnaam;})
  }

<div id="test">Test</div>
<script>
var docents = [{"docentnaam":"Alex"},{"docentnaam":"Jos"},{"docentnaam":"Dick"},{"docentnaam":"Annemarije"},{"docentnaam":"Martijn"},{"docentnaam":"John"},{"docentnaam":"Bart"},{"docentnaam":"Bart"},{"docentnaam":"Peter"},{"docentnaam":"Dietske"},{"docentnaam":"Peter"}]



document.getElementById('test').innerHTML= docents.map(o=> {return o.docentnaam;} );

</script>

关于javascript - 如何从列表内的目录中取出值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690828/

相关文章:

javascript - 你能调用一个在调用者上下文中返回的函数吗?

javascript - 哪些 Javascript 类型可以有属性?

javascript - 显示 onclick 函数后从数据库检索的推文

java - 创建 "view"的 Java 列表

html - 如何更改选项标签中特定文本的颜色

javascript - 如何禁用特定行的 ts 规则?

java - UML:组件如何实现某些接口(interface)?

java - 是否可以创建一个数组列表?

html - 删除 Gmail 和 Yahoo 的 HTML 邮件程序中的文本装饰

html - 悬停时转换 SVG 渐变色标