如何在React Native上从本地JSON文件获取数据?


Answers:


145

从React Native 0.4.3开始,您可以像这样读取本地JSON文件:

const customData = require('./customData.json');

然后像普通的JS对象一样访问customData。


仍支持此语法吗?因为我无法在代码中使用此语法。
Sohail Mohabbat Ali,2016年

1
似乎可以与iOS的React Native 0.26.2一起使用。您可能需要检查react-native -v并尝试阅读package.json
彼得,2016年

customData仅存储文件customData.json的前3500个字符,以任何其他方式加载大文件@peter
Akki,

@Akki将其分成多个较小的文件?
西蒙·佛斯伯格

它运行完美-问:为什么我不能改用导入语法?
dod_basim

111

ES6 / ES2015版本:

import customData from './customData.json';

它可以有任何名称customData
吗?

2
@ farmcommand2可以是任何名称。import myJsonFile from './foobar.json';
PaulMest

1
我刚刚尝试使用React Native 0.57,看起来.json扩展名不是必需的。
Manuel Zapata

1
@ManuelZapata正确。如果排除后缀,则模块解析器将尝试其他扩展,直到找到有效的扩展。此处的更多信息:nodejs.org/api/modules.html#modules_all_together
PaulMest

17

对于ES6 / ES2015,您可以像这样直接导入

// example.json
{
    "name": "testing"
}


// ES6/ES2015
// app.js
import * as data from './example.json';
const word = data.name;
console.log(word); // output 'testing'

如果使用打字稿,则可以声明json模块,例如:

// tying.d.ts
declare module "*.json" {
    const value: any;
    export default value;
}



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.