I've been using the following from the Tech Database but trying to make a slight tweak. I can parse the values from JSON but want to update one of the values (which works fine) and then convert the entire Object back to Text (which doesn't). I can't find any way to get the JSON in text form. All the examples I can find assume that a "JSON" object is available (or have to include an external library), which I assume webbrowsers support natively, and which contains "stringify" and which seems to be what I want but isn't available via MSScriptControl...at least I can't figure out how I'm supposed to initialize it.
How can I get the complete JSON data back in text form going this route?
Thanks.
Jim
#DefineFunction JSONGET ( JSON_Data, JSON_Return )
If StrLen(JSON_Data) > 0 Then
var = "function do_json()" : @CRLF
var = var:"{" : @CRLF
var = var: "var myJSONObject = {""x"": " : JSON_Data : " };" : @CRLF
var = var: "myJSONObject.x." : JSON_Return : " = ""hello"";" : @CRLF
var = var: "var txt = myJSONObject;" : @CRLF
var = var: "return txt;" : @CRLF
; var = var: "return JSON.stringify(myJSONObject); " : @CRLF
; var = var: "return myJSONObject.x." : JSON_Return : ";" : @CRLF
var = var:'}':@CRLF
oScript=CreateObject("MSScriptControl.ScriptControl")
oScript.language = "javascript"
oScript.addcode(var)
Ret = oScript.Eval("do_json()")
oScript=0
Return Ret
Else
Return "*ERROR*"
EndIf
#EndFunction
Sorry I am not aware of any way to convert that object to text using that method.
Have you considered using dotNet to handle the JSON?
System.Runtime.Serialization.Json Namespace (only available in .NET 4.5): http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json(v=vs.110).aspx
Json.NET is a popular high-performance JSON framework for .NET http://json.codeplex.com/
Was looking at that but was hoping to keep it simple, if possible. Seems odd that there isn't a simple command to do such a thing...guess there is but no idea how to initialize the proper object. stringify is clearly documented on MSDN but never an example that shows how the JSON object is initialized.
Jim
Quote from: JTaylor on June 20, 2014, 01:45:57 PM
Was looking at that but was hoping to keep it simple, if possible.
Not that it helps, but it probably won't be simple. I was jazzed about JSON 4 years ago when with DISH, contributed a few threads, most of them with the script control. Then for higher-impact JSON I was contect with Powershell's JSON cmdlets (called through the CLR).
Last 2 forays I had with JSON failed, and I think because it is not really a standardized system that a single parser can handle.
Good luck.
Thanks. Just went a different route at the moment to get the job done. Maybe someone will chime in with an idea on how to make the JSON object, the docs reference, available so I have access to all those methods.
Jim
This looks interesting
http://mono.servicestack.net/mythz_blog/?p=344 (http://mono.servicestack.net/mythz_blog/?p=344)
Thanks. Looks interesting.
Jim
Quote from: JTaylor on June 24, 2014, 05:52:55 PM
Thanks. Looks interesting.
Jim
Yeah, and in the user posts in the thread is a reference to FastJSON, which can be compiled into a dll with Studio. Might make a nice addition to using the CLR. I have no immediate need for a serializer at work, but it does sound like an interesting project...
Thanks again. My goal is a solution that doesn't require additional pieces to the puzzle but always good to have more than one tool in the toolbox.
I am still extremely puzzled as to how I can turn the JSON text into an object and change/interrogate values with no problem but no apparent way to retrieve the full text of the object. I have to be missing something simple.
Jim