javascript - typescript'te yerel JSON dosyasını oku


Typescript'te yerel olarak saklanan bir JSON dosyasını bir değişkene nasıl okuyabilirim? Bu şekilde görünen bir fotoğraf JSON dosyam var:

[
    {
      "id": 1,
      "camera": "",
      "location": "",
      "iso": 0,
      "aperture": 0,
      "focal length": 0
    },
    {
      "id": 2,
      "camera": "",
      "location": "",
      "iso": 0,
      "aperture": 0,
      "focal length": 0
    },
    {
      "id": 3,
      "camera": "",
      "location": "",
      "iso": 0,
      "aperture": 0,
      "focal length": 0
    }
]

Dosyayı metin olarak okumaya ve sonra Json.Parse kullanmaya çalışıyorum ama öncelikle bunu metin olarak nasıl okuyabilirim? FileReader.readAsText kullanmayı denedim ama sadece blob nesnelerini kabul ediyor. Dosya yolumdan bir blob nesnesi oluşturmam mı gerekiyor yoksa yerel JSON dosyalarını okumak için daha kolay bir yol var mı?

Cevap #1

Bunu yapabilirsiniz ama tsconfig.json'u değiştirmeniz gerekiyor. tsconfig.json'da resolveJsonModule adlı bir ayar vardır. Varsayılan olarak değeri false olarak ayarlanmıştır.

ÖZET

  1. tsconfig.json dosyasını açın ve eğer compilerOptions içinde resolveJsonModule yoksa, aşağıdaki gibi ekleyin:

    "resolveJsonModule": true,
    
  2. Dosyayı okumak istediğiniz bileşeni açın ve şu şekilde içe aktarın:

    import * as photos from '../../path-to file';
    

Yukarıdaki değişiklikler dosyayı içe aktarmak için yeterlidir. İşte örnek: Stackblitz Örneği

Cevap #2

JSON dosyasını içe aktarabilirsiniz

import all from '../../path/to/file.json'

o zaman tip için aşağıdaki gibi deklarasyon yap

const samples = (all as DataType)

İlgili makaleler