Streaming JSON data into Max

Leviticus's icon

Hello,

So I have some data within a JSON package that I'd like to stream into Max. I then intend to manipulate the data in Max. Are there any objects that enable this? If not, does any body have any suggestions as to how to go about achieving this?

Thanks

mzed's icon

I just did this in a very brute-force way; reading through the file line-by-line and unpacking/parsing. That was lame, I wouldn't recommend it.

JavaScript is the obvious solution; I'll see if I can put that together.

mzed's icon

Something like this should work:
outlets=1;

function readlines(s)
{
    var f = new File(s);
    var i,a,c;

    if (f.isopen) {
        i=0;
        while ((a=f.readline()) && i
            var parsed = JSON.parse(a);
            outlet(0,parsed.name + " " + parsed.value);
            i++;
        }
        f.close();
    } else {
        post("could not open file: " + s + "\n");
    }
}

oli larkin's icon

some json parsing here:

i used some 3rd party code. not sure if that is no longer needed in max6

Lee's icon

The [dict] object can read and write json files...

anomalous's icon

Hi mzed - re: your post on putting together a way to use javascript for reading json data - have you made anything that can do this yet or should i use the [dict] object as suggested at the end of this thread?

thanks anom

Hidde's icon

Using the dict object with Javascript can probably do everything you want. There's a lot of information in the documentation and on the forums.

leapformax's icon

This is solved with different approaches now, choose yours.
Password for file is "noleak"
As available on https://leapformax.com

leapformax's icon

OK here without windows node setup batch, so that forum security is ok.
No more password is needed, especially if you are not interested in the nodejs part of the solution.

TCPIGOLA-0.4-PREVIEW1.zip
zip
leapformax's icon

The website got updated!
The setup pages are greatly simplified
There is the preview of the webdemo
:-)

www.leapformax.com

In your case you only care about tcpigola, ignore node and tcpigolo.
This will work untill you have somthing sending ascii encoded JSON via udp to your max.