user16541120
user16541120

Reputation:

Access JSON object from another file in Javascript

Perhaps a simple question but I am still new to JS / nodeJS.

I have a script that is doing some basic string matching (dict.js), and I am trying to access a JSON formatted object from another file (words.json) to iterate through.

The directory structure looks like:

scratch
- algorithms
  - dict.js
- utilities
  - words.json

The contents of the files are:

words.json

{"a": 1,"aa": 1,"aaa": 1,"aah": 1,"aahed": 1,"aahing": 1,"aahs": 1,"aal": 1}

dict.js

decode (password) {
    
    const jsonData = require('../utilities/words.json'); 
    myObj = JSON.parse(jsonData);

    for (const x in myObj) {
        console.log(x)
        // compare password against item in words.json
    }
    console.log(Object.keys(myObj).length)

    return "stub";
}

I am getting an error in developer tools when I create a block (this is the backend to a block in Scratch) that uses this Decode function.

Uncaught SyntaxError: Unexpected token o in JSON at position 1

Thanks

Upvotes: 0

Views: 1254

Answers (1)

ABDULLOKH MUKHAMMADJONOV
ABDULLOKH MUKHAMMADJONOV

Reputation: 5234

In nodejs environment you can directly import json file data without parsing it. For exaple:

const myObj = require('../utilities/words');

This gives you the data in your json file as a ready-to-go object.

In your case, you are trying to parse json object with JSON.parse() which expects stringified json. So just remove the part JSON.parse(jsonData);

Upvotes: 0

Related Questions