Как получить данные из локального файла JSON для ответа на native?

Как я могу хранить локальные файлы, такие как JSON, и затем извлекать данные с контроллера?

Ответы

Ответ 1

Начиная с React Native 0.4.3 вы можете прочитать свой локальный файл JSON следующим образом:

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

а затем получить доступ к customData как обычный объект JS.

Ответ 2

Версия ES6/ES2015:

import customData from './customData.json';

Ответ 3

Для 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;
}

Ответ 4

Использовать этот

import data from './customData.json';

Ответ 5

возможно, вы могли бы использовать AsyncStorage setItem и getItem... и сохраните данные как строку, затем используйте json parser для преобразования его снова в json...

Ответ 6

Взгляните на эту проблему Github:

https://github.com/facebook/react-native/issues/231

Они пытаются require не-JSON файлы, в частности JSON. Нет никакого способа сделать это прямо сейчас, поэтому вам либо нужно использовать AsyncStorage, как упоминалось в @CocoOS, либо вы можете написать небольшой собственный модуль, чтобы сделать то, что вам нужно сделать.