स्थानीय JSON फ़ाइल से डेटा कैसे प्राप्त करें?


103

मैं JSON जैसी स्थानीय फ़ाइलों को कैसे संग्रहीत कर सकता हूं और फिर नियंत्रक से डेटा प्राप्त कर सकता हूं?

जवाबों:


146

React Native 0.4.3 के बाद से आप अपनी स्थानीय JSON फाइल को इस तरह पढ़ सकते हैं:

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

और फिर एक सामान्य JS ऑब्जेक्ट की तरह customData का उपयोग करें।


क्या यह वाक्यविन्यास अभी भी समर्थित है? क्योंकि मैं अपने कोड में इस वाक्यविन्यास का उपयोग नहीं कर सकता।
सोहेल मोहब्बत अली

1
IOS के लिए React Native 0.26.2 के साथ काम करने लगता है। आप के साथ की जाँच करें react-native -vऔर पढ़ने की कोशिश करना चाहते हो सकता है package.json
याचिकाकर्ता

customData केवल फ़ाइल के पहले 3500 भंडारण customData.json.json, बड़ी फ़ाइल को लोड करने के लिए किसी भी अन्य तरीके @peter
अक्की

@ अक्की इसे कई छोटी फाइलों में विभाजित करते हैं?
साइमन फोर्सबर्ग

यह पूरी तरह से काम करता है - क्यू: मैं इसके बजाय आयात सिंटैक्स का उपयोग क्यों नहीं कर सकता हूं?
dod_basim

111

ES6 / ES2015 संस्करण:

import customData from './customData.json';

इसका कोई भी नाम हो सकता है या होना चाहिएcustomData
Farmcommand2

2
@ farmcommand2 यह कोई भी नाम हो सकता है। import myJsonFile from './foobar.json';
पॉलमेस्ट

1
मैंने सिर्फ रिएक्टिव नेटिव 0.57 के साथ कोशिश की, और ऐसा लगता है कि .json एक्सटेंशन आवश्यक नहीं है।
मैनुएल जैपटाटा

1
@ ManuelZapata यह सही है। यदि आप प्रत्यय को बाहर करते हैं, तो मॉड्यूल रिज़ॉल्वर विभिन्न एक्सटेंशन की कोशिश करेगा जब तक कि वह एक काम नहीं करता। यहाँ अधिक जानकारी: nodejs.org/api/modules.html#modules_all_t Total
PaulMest

18

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'

यदि आप टाइपस्क्रिप्ट का उपयोग करते हैं, तो आप जैसन मॉड्यूल की घोषणा कर सकते हैं जैसे:

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


2

हो सकता है कि आप AsyncStorage setItem और getItem का उपयोग कर सकते हैं ... और डेटा को स्ट्रिंग के रूप में संग्रहीत कर सकते हैं , फिर इसे फिर से json में बदलने के लिए json parser का उपयोग करें ...


1

इस Github मुद्दे पर एक नज़र डालें:

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

वे requireगैर-JSON फ़ाइलों की कोशिश कर रहे हैं , विशेष रूप से JSON में। अभी ऐसा करने का कोई तरीका नहीं है, इसलिए आपको या तो AsyncStorage का उपयोग करना होगा जैसा कि @CocoOS ने उल्लेख किया है, या आप एक छोटे देशी मॉड्यूल को लिखने के लिए कर सकते हैं जो आपको करने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.