Re: Can you parse JSON with the eXist database?

Ted Hickox <[email protected]> Mon, 19 Aug 2024 12:04:38 -0500
Newsgroups gmane.text.xml.exist
Message-ID <CAAsp6CYtOc_H-suKOf0bqA_um8PA-k3E=LScdgGjMQ4y0QKtbA@mail.gmail.com>
I updated my code again and now nothing appears in the textbox.  This is
truly frustrating.

javascript document:

function Setup() {

    XMLHttp = new XMLHttpRequest();
    XMLHttp.open("GET", "
http://localhost:8080/exist/rest/db/apps/HTML_Student/people.json", true);
    XMLHttp.onreadystatechange = function () {
        if(XMLHttp.readyState == 4){}
        document.getElementById("JSON_Text").value = "Taking another step.";

    };
}

On Mon, Aug 19, 2024 at 11:33 AM Ted Hickox <[email protected]> wrote:

> I fixed a couple of errors and got some new responses.  But I still didn't
> get the responses I needed.
>
> Here is my new Javascript document:
>
> function Setup() {
>
>     XMLHttp = new XMLHttpRequest();
>     XMLHttp.open("GET", "
> http://localhost:8080/exist/rest/db/apps/HTML_Student/people.json", true);
>     XMLHttp.onreadystatechange = function () {
>          if(XMLHttp.readyState == 4){}{
>              JSON_Data = XMLHttp.responseText;
>              JSON_Data = JSON.parse(JSON_Data);
>              document.getElementById("JSON_Text").value = JSON_Data;
>          }
>
>     };
> }
>
> And here is my new people.json
>
> {"name":"John", "age":30, "city":"New York"}
>
> And here is the new response from the HTML textbox:
>
> [object Object]
>
> I'm still not sure what I'm doing wrong.
>
> On Mon, Aug 19, 2024 at 10:06 AM Florian Schmitt <
> [email protected]> wrote:
>
>> Ted, if your resource is named People.json in eXist (with upper-case
>> "P"), you'll need to adapt your URL accordingly. Currently, the URL points
>> to people.json, not People.json.
>>
>> 19.08.2024 07:25:51 Ted Hickox <[email protected]>:
>>
>> My apology for giving you incorrect Javascript code.  I corrected my
>> code.  Here it is:
>>
>> function Setup() {
>>     var XMLHttp;
>>     var JSON_Data;
>>
>>
>>     XMLHttp = new XMLHttpRequest();
>>     XMLHttp.open("GET", "
>> http://localhost:8080/exist/rest/db/apps/HTML_Student/people.json",
>> true);
>>     XMLHttp.onreadystatechange = function () {
>>          if(XMLHttp.readyState == 4){}{
>>              JSON_Data = XMLHttp.responseText;
>>              document.getElementById("JSON_Text").value = JSON_Data;
>>          }
>>
>>     };
>>
>> }
>>
>> When I run the code and check the console, it states that it can't find
>> people.json.  I don't know why my webpage can't find people.json  Can you
>> assist me?
>>
>> On Sun, Aug 18, 2024 at 11:42 AM Jean-Paul Rehr <[email protected]>
>> wrote:
>>
>>> Ted, none of this has to do with eXist parsing JSON.
>>>
>>> The URL
>>> http://localhost:8080/exist/rest/db/apps/HTML_Student/people.json is
>>> requesting a JSON document from eXist, that is, eXist is serving the
>>> document not parsing it.
>>>
>>> Incidentally, one can parse a json document in Xquery with the command:
>>>
>>> fn:json-doc("/db/apps/HTML_Student/people.json")
>>>
>>> JPR
>>>
>>> On Sun, Aug 18, 2024 at 6:26 PM Ted Hickox <[email protected]> wrote:
>>>
>>>> If it's possible to parse JSON with the eXist database, why is the
>>>> following code retrieving any data from my JSON document:
>>>>
>>>> JSON Example.xhtml
>>>>
>>>> <html xmlns="http://www.w3.org/1999/xhtml">
>>>> <head>
>>>> <title>First JSON Experiment</title>
>>>> <link rel="stylesheet" type="text/css" href="
>>>> http://localhost:8080/exist/rest/db/apps/HTML_Student/JSON_Example.css"/>
>>>>
>>>> <script language="javascript" src="
>>>> http://localhost:8080/exist/rest/db/apps/HTML_Student/JSON_Example.js"/>
>>>>
>>>> </head>
>>>> <body onload = "Setup()">
>>>> <input type = "text" id = "JSON_Text">
>>>> </input>
>>>> </body>
>>>> </html>
>>>>
>>>> JSON Example.css
>>>>
>>>> #JSON_Text {
>>>>     position: absolute;
>>>>     top: 200px;
>>>>     left: 300px;
>>>>     height: 25px;
>>>>     width: 300px;
>>>> }
>>>>
>>>> JSON Example.js
>>>>
>>>> function Setup() {
>>>>     var XMLHttp;
>>>>     var JSON_Data;
>>>>
>>>>     XMLHttp = new XMLHttpRequest();
>>>>
>>>>     XMLHttp.onreadystatechange = function () {
>>>>          if(XMLHttp.readyState == 4){
>>>>              JSON_Data = JSON.parse(XMLHttp.responseText);
>>>>          }
>>>>     };
>>>>
>>>>     XMLHttp.open("Get", "
>>>> http://localhost:8080/exist/rest/db/apps/HTML_Student/people.json",
>>>> true);
>>>>     XMLHttp.send();
>>>>
>>>>
>>>>     document.getElementById("JSON_Text").value = JSON_Data;
>>>> }
>>>>
>>>> People.json
>>>>
>>>> {
>>>>      "People":{
>>>>           {
>>>>                "name": "Alex",
>>>>                "online": true
>>>>           },
>>>>           {
>>>>                "name": "Billy",
>>>>                "online": false
>>>>           }
>>>>
>>>>      }
>>>> }
>>>> _______________________________________________
>>>> Exist-open mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/exist-open
>>>>
>>>

_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open