» JSON parser
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

JSON parser

plugin json parser deserialize
Credits: http://james.newtonking.com/projects/json-net.aspx http://sanchtv.com

about

simple json parser plugin with json.net

download

pluginJson.zip
31.08.12 [19:13 UTC] by sanch | 1315 downloads

sebl 05/10/2012 - 09:51

nice plugin, but wouldn't this make it "really" spreadable:

[PluginInfo(Name = "JsonParser", Category = "JSON", Help = "parse json string", Tags = "")]
public class JsonParser : IPluginEvaluate
{
    #region fields & pins
    [Input("JSON", DefaultString = "hello")]
    IDiffSpread<string> FInput;
 
    [Output("Output json")]
    ISpread<JObject> FJOutput;
 
    [Import()]
    ILogger FLogger;
    #endregion fields & pins
    //called when data for any output pin is requested
 
    public void Evaluate(int SpreadMax)
    {
        FJOutput.SliceCount = SpreadMax;
 
        if(FInput.IsChanged )
        {
            FJOutput[0] = JObject.Parse(FInput[0]);
        }
    }
}
sanch 05/10/2012 - 12:53

Yes the json itself is not spreadable , i didn't really needed that feature so i left it that way , but well source is here feel free to make it spredable.

sebl 05/10/2012 - 18:13

yes, i think it's just that few lines above... if someone with json knowledge confirms that working, i can update the contrib.

though it's needed or not, i alwayys try™ to make new nodes asap*

  • asap = as spreadable as possible
sanch 05/10/2012 - 19:14

I think it should work , but the problem will be that you'll have to change the other node to have json input spreadable as well , add a binsyze for the query node otherwise there will be no way to know wich query go with wich json.
Actually an easier way will be to add all the json together with +(string spectral) node with the correct json formatting and query it as a single json , much more easy than dealing with binsyze stuff and at the end you got the same result.
The node for the list is also not spreadable , but could be without to much work , as well a binsyze output will be needed to identify the ouput data with the corresponding query.

Usually when i don't have time, i don't care about doing stuff i don't need , but i still share the result...

herbst 23/02/2013 - 17:28

As alternative to that, fully spreadable:
((json-aselement,)) which parses JSON directly to XElement using the .NET builtin parser.

Of course, with XElement you still have the headache of caring about binsizes and stuff further down the expanding-lots-of-single-things-into-lots-of-spreaded-things road.

sansui 28/03/2014 - 13:50

sanch, hi
I used this plugin very usefully.
but, I have a trouble in parse of using JSON Array node.
{key1 :{key2:value2}, {key3:value3}, {key4:value4} }
this data could parse successfully.
but this data couldn't in case of just only json array except of key.{key2:value2}, {key3:value3}, {key4:value4}
maybe, I think JSON Array node always need path value.

andresc4 15/01/2018 - 23:54

I would like to filter bitcoin price from here
https://api.coinmarketcap.com/v1/ticker/?limit=10
but im not getting how to use this

anonymous user login

Shoutbox

~18h ago

joreg: @eglod: if not, we're doing something wrong... but did you check any of the other timeline options? animation

~18h ago

andresc4: Sometimes people finalize a project and can donate a good amount that month, but nobody knows what will happen on the next one :D

~18h ago

andresc4: @vux as @eno say, I think a 1 time payment of any given value its a good option also

~19h ago

ggml: where id the vl search algorythm implementation discussion?

~20h ago

eglod: @ catweasel, o.k. may be, I have to learn vl. Thank You catweasel! Is this possible with 84 years, what think You?

~21h ago

catweasel: I guess part of the issue, is payment is $ which means transaction fees on every payement will add up!

~24h ago

u7angel: @eno, it is a hassle for us too but its worth it i think.

~24h ago

eno: @vux @u7angel, of course, but an annual fee would be much more convenient for the accounting.

~1d ago

u7angel: @eno, the idea is to generate a steady income to motivate continious development.