在React中阅读schema.org JSON

杰克·肯波

我有一个带有Axios的React Gatsby应用,可以读取和呈现schema.org JobPosting JSON提要,并在运行时将其显示在页面中。

我可以加载JSON,但无法遍历它(如果这是正确的术语)。

JSON看起来像这样。

[
  {
    "@context": "http://schema.org",
    "@type": "JobPosting",
    "datePosted": "2019-10-24T08:56:35+00:00",
    "description": "description here",
    "hiringOrganization": {
      "@type": "Organization",
      "name": "Evooq",
      "department": { "@type": "Organization", "name": "Technology" },
      "logo": "https://hire.withgoogle.com/public_frame/jobs/evooqch/logo/P_AAAAABlAAAVKRjuodf8v8_.png"
    },
    "identifier": {
      "@type": "PropertyValue",
      "name": "Evooq",
      "value": "P_AAAAABlAAAVA0RlA-fYhv0"
    },
    "jobLocation": {
      "@type": "Place",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Lausanne",
        "addressRegion": "VD",
        "addressCountry": "CH"
      }
    },
    "title": "Front-End Software Engineer",
    "url": "https://hire.withgoogle.com/public/jobs/evooqch/view/P_AAAAABlAAAVA0RlA-fYhv0",
    "employmentType": "Full time"
  },
  {
    "@context": "http://schema.org",
    "@type": "JobPosting",
    "datePosted": "2019-10-24T08:56:35+00:00",
    "description": "description here",
    "hiringOrganization": {
      "@type": "Organization",
      "name": "Evooq",
      "department": { "@type": "Organization", "name": "Technology" },
      "logo": "https://hire.withgoogle.com/public_frame/jobs/evooqch/logo/P_AAAAABlAAAVKRjuodf8v8_.png"
    },
    "identifier": {
      "@type": "PropertyValue",
      "name": "Evooq",
      "value": "P_AAAAABlAAAVA0RlA-fYhv0"
    },
    "jobLocation": {
      "@type": "Place",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Lausanne",
        "addressRegion": "VD",
        "addressCountry": "CH"
      }
    },
    "title": "Front-End Software Engineer",
    "url": "https://hire.withgoogle.com/public/jobs/evooqch/view/P_AAAAABlAAAVA0RlA-fYhv0",
    "employmentType": "Full time"
  }
]

加载后,我将其保存在状态变量中

  state = {
    JobData: [],
  }

在Axios fetch函数中,我更新状态,仅当我使用JSON stringitfy时,它才有效

this.setState({ JobData: JSON.stringify(res.data) })

所有JSON数据显示为

<p> {this.state.JobData} </p>

但我想遍历孩子们并拿出标题等,类似

            <ul>
              {this.state.JobData.map(node => (
                <li key={node.datePosted}>
                  <a href={node.url} target="_blank">
                    {node.title}
                  </a>
                </li>
              ))}
            </ul>

上面的方法不起作用,我收到TypeError:this.state.JobData.map不是函数

ido户

您正在使用JSON.stringify,应该使用JSON.parse如果响应还不是json。即具有headerapplication/json

JSON.stringify 接受一个JSON对象并将其转换为字符串。

JSON.parse 接受一个字符串,然后尝试将其转换为JSON对象。

在您的情况下,您有一个JSON字符串,并且您想使用parse方法将其转换为JSON对象


以下只是您可能不需要或可能不适用于您的情况的常识。

如果您的JSON字符串不是标准JSON(例如,未加引号的键),则可以使用JSON5之类的工具来解析字符串,而不是使用本机JavaScript JSON API。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在schema.org json ld中设置总部

来自分类Dev

测试schema.org ld + json内容

来自分类Dev

JSON-LD中schema.org面包屑中的相对URL语义

来自分类Dev

在JSON-LD中的Schema.org OpeningHoursSpecification中包含“午休”

来自分类Dev

JSON-LD中schema.org面包屑中的相对URL语义

来自分类Dev

JSON-LD附加属性,这些属性不在字典schema.org中

来自分类Dev

JSON-LD示例将“名称”属性用于“人”,但该属性不在Schema.org中

来自分类Dev

混合JSON-LD和Microdata Schema.org

来自分类Dev

Schema.org:使用Microdata,RDFa或JSON-LD?

来自分类常见问题

Schema.org-JSON-LD-放置在哪里?

来自分类Dev

JSON-LD Schema.org:多个视频/图像页面

来自分类Dev

从Schema.org获取JSON-LD信息

来自分类Dev

无法解决android中的org.json.JSON.typeMismatch

来自分类Dev

org.json.JSONException中的错误:org.json.JSONArray类型无法转换为JSONObject

来自分类Dev

在Rust中阅读Json

来自分类Dev

如何在Rails 4应用程序中设置“ application / ld + json” schema.org元数据

来自分类Dev

如何解决org.json.JSONException中的错误?

来自分类Dev

在JSONObject(org.json)中找不到嵌套数组

来自分类Dev

在“org.json.JSONException: Value{data}”中获取 JSONArray 结果

来自分类Dev

JSON解析:org.json.JSON.typeMismatch

来自分类Dev

使用哪一个?org.json中的JSONObject与javax.json中的JsonObject

来自分类Dev

为什么schema.org JSON-LD表示形式这么小?

来自分类Dev

JSON.LD表示形式和URI的Schema.org澄清

来自分类Dev

如何在schema.org Json-LD中指定多个选项(汽车)?

来自分类Dev

org.hibernate.tool.schema.spi.CommandAcceptanceException:执行DDL错误“创建表TABLE_JSON

来自分类Dev

为什么schema.org JSON-LD表示形式这么小?

来自分类Dev

是否可以嵌套(如果可能)JSON-LD schema.org参考?

来自分类Dev

如何在 JSON-LD 中使用 Schema.org 表示文章的各个部分?

来自分类Dev

数据引用在 everit-org/json-schema 库中被视为数字以验证 JSONSchema

Related 相关文章

  1. 1

    如何在schema.org json ld中设置总部

  2. 2

    测试schema.org ld + json内容

  3. 3

    JSON-LD中schema.org面包屑中的相对URL语义

  4. 4

    在JSON-LD中的Schema.org OpeningHoursSpecification中包含“午休”

  5. 5

    JSON-LD中schema.org面包屑中的相对URL语义

  6. 6

    JSON-LD附加属性,这些属性不在字典schema.org中

  7. 7

    JSON-LD示例将“名称”属性用于“人”,但该属性不在Schema.org中

  8. 8

    混合JSON-LD和Microdata Schema.org

  9. 9

    Schema.org:使用Microdata,RDFa或JSON-LD?

  10. 10

    Schema.org-JSON-LD-放置在哪里?

  11. 11

    JSON-LD Schema.org:多个视频/图像页面

  12. 12

    从Schema.org获取JSON-LD信息

  13. 13

    无法解决android中的org.json.JSON.typeMismatch

  14. 14

    org.json.JSONException中的错误:org.json.JSONArray类型无法转换为JSONObject

  15. 15

    在Rust中阅读Json

  16. 16

    如何在Rails 4应用程序中设置“ application / ld + json” schema.org元数据

  17. 17

    如何解决org.json.JSONException中的错误?

  18. 18

    在JSONObject(org.json)中找不到嵌套数组

  19. 19

    在“org.json.JSONException: Value{data}”中获取 JSONArray 结果

  20. 20

    JSON解析:org.json.JSON.typeMismatch

  21. 21

    使用哪一个?org.json中的JSONObject与javax.json中的JsonObject

  22. 22

    为什么schema.org JSON-LD表示形式这么小?

  23. 23

    JSON.LD表示形式和URI的Schema.org澄清

  24. 24

    如何在schema.org Json-LD中指定多个选项(汽车)?

  25. 25

    org.hibernate.tool.schema.spi.CommandAcceptanceException:执行DDL错误“创建表TABLE_JSON

  26. 26

    为什么schema.org JSON-LD表示形式这么小?

  27. 27

    是否可以嵌套(如果可能)JSON-LD schema.org参考?

  28. 28

    如何在 JSON-LD 中使用 Schema.org 表示文章的各个部分?

  29. 29

    数据引用在 everit-org/json-schema 库中被视为数字以验证 JSONSchema

热门标签

归档