मैं JSON को स्थानीय टेक्स्ट फ़ाइल में कैसे सहेज सकता हूं


88

कहो कि मेरे पास एक जावास्क्रिप्ट ऑब्जेक्ट है जो इस तरह दिखता है:

  var data = {
      name: "cliff",
      age: "34",
      name: "ted",
      age: "42",
      name: "bob",
      age: "12"
    }

var jsonData = JSON.stringify(data);

मैं इसे JSON में बदलने के लिए कठोर करता हूं। मैं इस JSON को एक स्थानीय पाठ फ़ाइल में कैसे सहेज सकता हूं ताकि मैं इसे नोटपैड आदि में खोल सकूं।

जवाबों:


194

Node.js:

var fs = require('fs');
fs.writeFile("test.txt", jsonData, function(err) {
    if (err) {
        console.log(err);
    }
});

ब्राउज़र (वेबपी):

function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
}
download(jsonData, 'json.txt', 'text/plain');

3
यह संभव है, आपको बस टाइप = फ़ाइल के साथ इनपुट टैग का उपयोग करना होगा, जैसे यहां प्रस्तुत है: stackoverflow.com/questions/13709482/…
Rafał Łużyński

12
[object Object]जब मैं ऐसा करता हूं तो मुझे मिलता है
जैक

40
@JackNicholson मुझे भी मिला [object Object].. मुझे JSON.stringify()पहले कॉल करना था , और उस वैल्यू को पास करना था , न कि ऑब्जेक्ट के बजाय।
१४:

1
इसने मेरे लिए काम किया, लेकिन क्या हुआ अगर मैं फाइल को बदलना नहीं चाहता, बल्कि फाइल में टेक्स्ट डालना चाहता हूं?
सीजर लियोनार्डो ओचोआ कॉन्ट्रास

5
इसके बाद a.click(), हमें revokeObjectURLब्राउज़र को यह बताने के लिए कॉल करना चाहिए कि वह फ़ाइल का संदर्भ किसी भी समय नहीं रख सकता: URL.revokeObjectURL(a.href).अधिक जानकारी: developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
andreivictor

8

यहाँ शुद्ध js पर एक समाधान है। आप इसे html5 बचतकर्ताओं के साथ कर सकते हैं। उदाहरण के लिए यह परिवाद सहायक हो सकता है: https://github.com/eligrey/FileSaver.js
डेमो देखें: http://eligrey.com/demos/FileSaver.js/
PS जौन बचाने के बारे में कोई जानकारी नहीं है, लेकिन आप इसे फ़ाइल प्रकार में बदल सकते हैं "application/json"और स्वरूपित कर सकते हैं.json


"आवेदन / json" और .json html फ़ाइल सिस्टम के साथ अच्छी तरह से काम करता है। इसके अलावा किसी भी json पार्स त्रुटियों जैसे "अप्रत्याशित टोकन? JSON में" को रोकने के लिए इसका उपयोग करना। धन्यवाद।
अजय सिंह

5

फ़ाइल को txt करने के लिए स्थानीय डेटा को सहेजना मेरा समाधान है।

function export2txt() {
  const originalData = {
    members: [{
        name: "cliff",
        age: "34"
      },
      {
        name: "ted",
        age: "42"
      },
      {
        name: "bob",
        age: "12"
      }
    ]
  };

  const a = document.createElement("a");
  a.href = URL.createObjectURL(new Blob([JSON.stringify(originalData, null, 2)], {
    type: "text/plain"
  }));
  a.setAttribute("download", "data.txt");
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
}
<button onclick="export2txt()">Export data to local txt file</button>

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