MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Use a local JSON file with MMM-JsonTable Module

    Scheduled Pinned Locked Moved Solved Troubleshooting
    8 Posts 4 Posters 3.8k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • REBR Offline
      REB
      last edited by

      @Mykle1
      Thanks for the reply. I had tried that url plus others. I even put the file in a folder within the module folder named ‘public’ but that didn’t work either.

      I don’t think the module supports local json files - how do I determine this?

      I think I’ll try to develop my own module - it’ll be a good learning experience if nothing else.

      Thanks again.

      ? 1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @REB
        last edited by

        @reb
        You can check Which url is derived from you config.js by this;
        node_helper.js, in line 11

        ...
        getJson: function (url) {
          var self = this;
          console.log(url)  // add this.
          request({ url: url, method: 'GET' }, function (error, response, body) {
        ...
        
        1 Reply Last reply Reply Quote 0
        • REBR Offline
          REB
          last edited by

          OK, I have solved the issue - the json file causes this error:

          |mm     | Whoops! There was an uncaught exception...
          0|mm     | SyntaxError: Unexpected token  in JSON at position 0
          0|mm     |     at JSON.parse (<anonymous>)
          0|mm     |     at Request._callback (/home/pi/MagicMirror/modules/MMM-JsonTable/node_helper.js:15:21)
          0|mm     |     at Request.self.callback (/home/pi/MagicMirror/node_modules/request/request.js:186:22)
          0|mm     |     at emitTwo (events.js:126:13)
          0|mm     |     at Request.emit (events.js:214:7)
          0|mm     |     at Request.<anonymous> (/home/pi/MagicMirror/node_modules/request/request.js:1163:10)
          0|mm     |     at emitOne (events.js:116:13)
          0|mm     |     at Request.emit (events.js:211:7)
          0|mm     |     at IncomingMessage.<anonymous> (/home/pi/MagicMirror/node_modules/request/request.js:1085:12)
          0|mm     |     at Object.onceWrapper (events.js:313:30)
          0|mm     | MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
          0|mm     | If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
          

          There are three bytes at the beginning of the json file before the first ‘{’. I am using an Excel to JSON converter from where I copy and paste the data.

          I use VS Code as my code editor and with a blank new file, when I paste the data from the online converter and save, those extra bytes are at the start of the file. Same with Notepad and Editplus.

          Without these 3 extra bytes, the module loads the file OK. Now I just need to figure out how to save the data without those extra bytes.

          BTW, the correct url that I used is:

           'http://192.168.1.27:8080/modules/MMM-JsonTable/xxxxxx.json'
          
          1 Reply Last reply Reply Quote 1
          • REBR Offline
            REB
            last edited by

            OK, I’ve gotten to the bottom of the 3 extra bytes at the beginning of my json file - they are the utf-8 BOM (EF BB BF).

            Fortunately, I have a script (on a Directory Opus button) that will remove these bytes (or put them back if need be).

            Thanks to those that offered advice etc.

            S 1 Reply Last reply Reply Quote 1
            • S Do not disturb
              sdetweil @REB
              last edited by sdetweil

              @reb those characters are called the BOM (Byte Order Mark)… added by advanced word processing editors…

              u can use Notepad++ to remove them too…

              u need to change editors to make sure you don’t add them back accidentally…

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              REBR 1 Reply Last reply Reply Quote 0
              • REBR Offline
                REB @sdetweil
                last edited by

                @sdetweil said in Use a local JSON file with MMM-JsonTable Module:

                @reb those characters are called the BOM (Bill of Material)… added by advanced word processing editors…

                u can use Notepad++ to remove them too…

                u need to change editors to make sure you don’t add them back accidentally…

                @sdetweil
                Thanks for the info about removing the BOM (Byte Order Mark). I use an Explorer replacement program called Directory Opus which is awesome and one of the developers wrote a script that can be attached to a toolbar button that can add, remove or toggle the Byte Order Mark.

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Enjoying MagicMirror? Please consider a donation!
                MagicMirror created by Michael Teeuw.
                Forum managed by Sam, technical setup by Karsten.
                This forum is using NodeBB as its core | Contributors
                Contact | Privacy Policy