目录
算法-1
示例中使用的 JSON 文件:文件名 – products.json
示例
示例 1:读取 JSON 数据并将其显示为表格。
查看结果
Algorithm-2
示例 2:将 JSON 数据转换为 CSV 并下载文件。
首页 web前端 js教程 在 Snack 中使用 JSON 格式的数据

在 Snack 中使用 JSON 格式的数据

Aug 28, 2023 am 08:17 AM

通过 Snack Expo 制作的应用程序可以通过多种方式使用数据。有时数据存储为 JSON,即 JavaScript 对象表示法。在这种格式中,数据可以轻松存储为键值对,也可以转换为 CSV 文件。在这篇文章中,在Snack上使用javascript,指定了使用JSON数据的方法。在示例 1 中,给出了读取该数据并将其显示为表格的方法。在第二个示例中,显示了将 JSON 数据保存为 CSV 文件并下载的方法。

算法-1

第 1 步 - 从“react-native”导入视图。还可以从 json 文件导入 JSON 数据。这里例如使用products.json

第 2 步 - 制作 App.js 并编写代码。

第 3 步 - 使用 id 作为键并从 json 文件中获取所有产品。

第 4 步 - 首先显示标题,然后使用映射函数获取每个产品项。选择要显示的列。

步骤 5 - 使用

、、 和
标签以表格形式显示数据。

第 6 步 - 检查结果。

示例中使用的 JSON 文件:文件名 – products.json

示例

{
   "products": [
      {
         "id": 68,
         "title": "School shoes",
         "price": 122,
         "quantity": 3,
         "total": 160,
         "discount%": 50,
         "discountedRate": 80
      },
      {
         "id": 82,
         "title": "Washing Gloves",
         "price": 50,
         "quantity": 2,
         "total": 60,
         "discount%": 10,
         "discountedRate": 45
      },
      {
         "id": 28,
         "title": "Moisturizer 100ml",
         "price": 45,
         "quantity": 2,
         "total": 90,
         "discount%": 13.1,
         "discountedRate": 70
      },
      {
         "id": 92,
         "title": "Leather Belt",
         "price": 900,
         "quantity": 1,
         "total": 950,
         "discount%": 19.77,
         "discountedRate": 766
      },
      {
         "id": 49,
         "title": "Woollen Shawl",
         "price": 800,
         "quantity": 2,
         "total": 1300,
         "discount%": 20,
         "discountedRate": 994
      }
   ]
}
登录后复制

示例 1:读取 JSON 数据并将其显示为表格。

项目中用到的重要文件是

  • App.js

App.js:这是该项目的主要 JavaScript 文件。

示例

import productData from './products.json'

import {Component} from "react";
import {View} from "react-native";

export default class JSONEXAMPLE extends Component {
   render(){
      return (
         <View style={{padding: 10}}>
         <h2>Products Ordered</h2>

         <table>
            <thead>
               <tr>
                  <th>ID</th>
                  <th>Title</th>
                  <th>Price</th>
                  <th>Quantity</th>
               </tr>
            </thead>
            <tbody>
               {productData.products.map(products => {
               const { id, title, price, quantity } = products
               return (
               <tr key={id}>
                  <td>{id}</td>
                  <td>{title}</td>
                  <td>{price}</td>
                  <td>{quantity}</td>
               </tr>
               )
               })}
            </tbody>
         </table>
         </View>
      )
   }
}
登录后复制

查看结果

结果可以在线查看。当用户键入代码时,默认情况下会选择 Web 视图,并且结果会立即显示。

在 Snack 中使用 JSON 格式的数据

JSON 数据在 Snack 的 Web 视图中显示为表格

Algorithm-2

步骤 1 − 从“react-native”导入视图。还可以从 json 文件导入 JSON 数据。此处,例如使用 products.json

第 2 步 - 制作 App.js 并编写代码。

第 3 步 - 使用 id 作为键,从 json 文件中获取所有产品,并以表格形式显示产品信息。

第 4 步 - 使用参数数据、文件名和文件类型编写函数 downldFl()。使用 Blob() 指定文件类型,并使用 window.URL.createObjectURL(blob) 下载文件。

第 5 步 − header 用 ',' 连接,然后连接 json 内容,用“

”分隔。

第 6 步 − 单击下载 CSV 并检查下载的文件及其结果。

示例 2:将 JSON 数据转换为 CSV 并下载文件。

项目中用到的重要文件是

  • App.js

App.js:这是该项目的主要 JavaScript 文件。

示例

import productData from './products.json'
import {View} from "react-native";

const downldFl = ({ data, fl_name, fl_type }) => {
   const blobb = new Blob([data], { type: fl_type })
   const lnk = document.createElement('a');
   lnk.download = fl_name;
   lnk.href = window.URL.createObjectURL(blobb);
   lnk.click();
   URL.revokeObjectURL(lnk.href);
   lnk.remove();
}

const downloadCSVfile = e => {
   e.preventDefault()

   let headers = ['Id,Title,Price,Quantity']

   let productsCsv = productData.products.reduce((str1, product) => {
   const { id, title, price, quantity } = product
   str1.push([id,title, price, quantity].join(','))
   return str1
   }, [])

   downldFl({
         data: [...headers, ...productsCsv].join(''),
         fl_name: 'products.csv',
         fl_type: 'text/csv',
      }
   )
}

export default function JSONEXAMPLETWO() {
   return (
      <View style={{padding: 10}}>
         <h2> Download JSON as CSV</h2>

         <table className='productsTable'>
            <thead>
               <tr>
                  <th>ID</th>
                  <th>Title</th>
                  <th>Price</th>
                  <th>Quantity</th>
               </tr>
            </thead>
            <tbody>
               {productData.products.map(products => {
                  const { id, title, price, quantity } = products
                  return (
                     <tr key={id}>
                        <td>{id}</td>
                        <td>{title}</td>
                        <td>{price}</td>
                        <td>{quantity}</td>
                     </tr>
                  )
               }
               )
               }
            </tbody>
         </table>

         <button type='button' onClick={downloadCSVfile}>
            Download CSV
         </button>
      </View>
   )
}
登录后复制

查看结果

结果可以在线查看。当用户单击下载按钮时,文件将被下载并立即显示结果。

在 Snack 中使用 JSON 格式的数据

按下载 CSV 按钮即可下载文件。

在 Snack 中使用 JSON 格式的数据

显示下载的由 JSON 制成的 CSV 文件的内容。

本文通过两个不同的示例,给出了在 Expo Snack 应用中使用 JSON 的方法。首先给出读取 json 文件并以表格形式显示其内容的方法。然后给出了将所选 JSON 数据保存为 CSV 格式并下载该文件的方法。

以上是在 Snack 中使用 JSON 格式的数据的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在JavaScript中替换字符串字符 在JavaScript中替换字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替换字符串字符

自定义Google搜索API设置教程 自定义Google搜索API设置教程 Mar 04, 2025 am 01:06 AM

自定义Google搜索API设置教程

示例颜色json文件 示例颜色json文件 Mar 03, 2025 am 12:35 AM

示例颜色json文件

8令人惊叹的jQuery页面布局插件 8令人惊叹的jQuery页面布局插件 Mar 06, 2025 am 12:48 AM

8令人惊叹的jQuery页面布局插件

构建您自己的Ajax Web应用程序 构建您自己的Ajax Web应用程序 Mar 09, 2025 am 12:11 AM

构建您自己的Ajax Web应用程序

什么是这个'在JavaScript? 什么是这个'在JavaScript? Mar 04, 2025 am 01:15 AM

什么是这个'在JavaScript?

通过来源查看器提高您的jQuery知识 通过来源查看器提高您的jQuery知识 Mar 05, 2025 am 12:54 AM

通过来源查看器提高您的jQuery知识

10张移动秘籍用于移动开发 10张移动秘籍用于移动开发 Mar 05, 2025 am 12:43 AM

10张移动秘籍用于移动开发

See all articles