Loading ...
Sorry, an error occurred while loading the content.

Re: JSON with HTML snippet

Expand Messages
  • weilandaj
    Sorry, that should read sending data back not database . *goes to fetch coffee*
    Message 1 of 7 , Feb 14, 2007
    • 0 Attachment
      Sorry, that should read "sending data back" not "database".

      *goes to fetch coffee*
    • shalini israni
      How are you constructing the JSON object on the serverside before u send it to the client side? I feel something is mucking up there... Could u paste that
      Message 2 of 7 , Feb 14, 2007
      • 0 Attachment
        How are you constructing the JSON object on the serverside before u send it
        to the client side? I feel something is mucking up there... Could u paste
        that code??? I'm not into php...but maybe someone else on the group is... :)
        No sweat..it'll get solved!

        On 2/14/07, weilandaj <weilandaj@...> wrote:
        >
        > Hi All,
        >
        > I'm having some trouble with an element of my web application with json.
        >
        > The short story is I am sending database as part of an ajax request.
        > One piece of that data is HTML text. On the server end I'm using php
        > with smarty templates and need to send a short bit of HTML that comes
        > from a template.
        >
        > The problem is the html snippet is being severely mangled on the
        > browser end (tested in IE and FF). Here's an example:
        >
        > {"html":"<a href=\"4427-New-Gaming-Channel.html\"\>New Gaming
        > Channel</a\><b\> . 8 Views</b\>","id":"4427"}
        >
        > The HTML becomes:
        >
        > <a ew-Gaming-Channel.html">New Gaming Channel</a><b> . 8 Views</b>
        >
        > I've tried all sorts of escaping and other things. I'm really stuck
        > as to why this happens.
        >
        > Thanks for you help.
        >
        >
        >



        --

        Shalini


        [Non-text portions of this message have been removed]
      • weilandaj
        I m using the php json extension. http://us3.php.net/manual/en/function.json-encode.php It generates exactly what I pasted in my first message. After it gets
        Message 3 of 7 , Feb 14, 2007
        • 0 Attachment
          I'm using the php json extension.

          http://us3.php.net/manual/en/function.json-encode.php

          It generates exactly what I pasted in my first message. After it gets
          eval()'ed it gets mangled. I did some more testing and one thing that
          stood out is "href" seems to get yanked out for some reason in the
          eval. Not sure if that's some kind of security thing


          --- In json@yahoogroups.com, "shalini israni" <shaliny.i@...> wrote:
          >
          > How are you constructing the JSON object on the serverside before u
          send it
          > to the client side? I feel something is mucking up there... Could u
          paste
          > that code??? I'm not into php...but maybe someone else on the group
          is... :)
          > No sweat..it'll get solved!
          >
          > On 2/14/07, weilandaj <weilandaj@...> wrote:
          > >
          > > Hi All,
          > >
          > > I'm having some trouble with an element of my web application with
          json.
          > >
          > > The short story is I am sending database as part of an ajax request.
          > > One piece of that data is HTML text. On the server end I'm using php
          > > with smarty templates and need to send a short bit of HTML that comes
          > > from a template.
          > >
          > > The problem is the html snippet is being severely mangled on the
          > > browser end (tested in IE and FF). Here's an example:
          > >
          > > {"html":"<a href=\"4427-New-Gaming-Channel.html\"\>New Gaming
          > > Channel</a\><b\> . 8 Views</b\>","id":"4427"}
          > >
          > > The HTML becomes:
          > >
          > > <a ew-Gaming-Channel.html">New Gaming Channel</a><b> . 8 Views</b>
          > >
          > > I've tried all sorts of escaping and other things. I'm really stuck
          > > as to why this happens.
          > >
          > > Thanks for you help.
          > >
          > >
          > >
          >
          >
          >
          > --
          >
          > Shalini
          >
          >
          > [Non-text portions of this message have been removed]
          >
        • shalini israni
          I donno...sometimes using APIs is messy... i used a JavaAPI onec..that was great...but this one time it really messed me up bad...so i had to resort to
          Message 4 of 7 , Feb 14, 2007
          • 0 Attachment
            I donno...sometimes using APIs is messy... i used a JavaAPI onec..that was
            great...but this one time it really messed me up bad...so i had to resort to
            creating my own JSON object on the server side... pasted the code below....
            mine to was XHTML that caused the API to trip....

            This is Java code..but maybe u can look at it and write the PHP equivalent
            .....


            public JSONObject feedToJSONObject(String feedContent) {
            JSONObject json = new JSONObject(); // main json object to be
            returned
            JSONArray itemArray = new JSONArray();
            Document doc = XMLEditor.getDOMFromXMLString(feedContent);

            NodeList items = doc.getElementsByTagName("item"); // items should
            be a
            // JSONArray
            for (int i = 0; i < items.getLength(); i++) {
            NodeList children = items.item(i).getChildNodes();
            String data = "";
            for (int j = 0; j < children.getLength(); j++) { // this part
            // relies on the
            // fact that
            // title comes
            // before link
            // hence the
            // comma
            if (children.item(j).getNodeName().equalsIgnoreCase("link"))
            data += "\"link\":\"" + children.item
            (j).getFirstChild().getNodeValue()
            + "\"}";
            if (children.item
            (j).getNodeName().equalsIgnoreCase("title"))
            data += "{\"title\":\"" + children.item
            (j).getFirstChild().getNodeValue()
            + "\",";
            }
            try {
            JSONObject itemChildren = new JSONObject(data);
            itemArray.put(itemChildren);
            } catch (JSONException jEx) {
            jEx.printStackTrace();
            }
            }
            try {
            json.put("items", itemArray);
            } catch (JSONException jEx) {
            jEx.printStackTrace();
            }
            return json;

            }


            On 2/15/07, weilandaj <weilandaj@...> wrote:
            >
            > I'm using the php json extension.
            >
            > http://us3.php.net/manual/en/function.json-encode.php
            >
            > It generates exactly what I pasted in my first message. After it gets
            > eval()'ed it gets mangled. I did some more testing and one thing that
            > stood out is "href" seems to get yanked out for some reason in the
            > eval. Not sure if that's some kind of security thing
            >
            > --- In json@yahoogroups.com <json%40yahoogroups.com>, "shalini israni" <
            > shaliny.i@...> wrote:
            > >
            > > How are you constructing the JSON object on the serverside before u
            > send it
            > > to the client side? I feel something is mucking up there... Could u
            > paste
            > > that code??? I'm not into php...but maybe someone else on the group
            > is... :)
            > > No sweat..it'll get solved!
            > >
            > > On 2/14/07, weilandaj <weilandaj@...> wrote:
            > > >
            > > > Hi All,
            > > >
            > > > I'm having some trouble with an element of my web application with
            > json.
            > > >
            > > > The short story is I am sending database as part of an ajax request.
            > > > One piece of that data is HTML text. On the server end I'm using php
            > > > with smarty templates and need to send a short bit of HTML that comes
            > > > from a template.
            > > >
            > > > The problem is the html snippet is being severely mangled on the
            > > > browser end (tested in IE and FF). Here's an example:
            > > >
            > > > {"html":"<a href=\"4427-New-Gaming-Channel.html\"\>New Gaming
            > > > Channel</a\><b\> . 8 Views</b\>","id":"4427"}
            > > >
            > > > The HTML becomes:
            > > >
            > > > <a ew-Gaming-Channel.html">New Gaming Channel</a><b> . 8 Views</b>
            > > >
            > > > I've tried all sorts of escaping and other things. I'm really stuck
            > > > as to why this happens.
            > > >
            > > > Thanks for you help.
            > > >
            > > >
            > > >
            > >
            > >
            > >
            > > --
            > >
            > > Shalini
            > >
            > >
            > > [Non-text portions of this message have been removed]
            > >
            >
            >
            >



            --

            Shalini


            [Non-text portions of this message have been removed]
          • weilandaj
            I have a feeling something isn t being escaped that should be but I ve tried everything I can think of. ... onec..that was ... resort to ... below.... ...
            Message 5 of 7 , Feb 15, 2007
            • 0 Attachment
              I have a feeling something isn't being escaped that should be but I've
              tried everything I can think of.


              --- In json@yahoogroups.com, "shalini israni" <shaliny.i@...> wrote:
              >
              > I donno...sometimes using APIs is messy... i used a JavaAPI
              onec..that was
              > great...but this one time it really messed me up bad...so i had to
              resort to
              > creating my own JSON object on the server side... pasted the code
              below....
              > mine to was XHTML that caused the API to trip....
              >
              > This is Java code..but maybe u can look at it and write the PHP
              equivalent
              > .....
              >
              >
              > public JSONObject feedToJSONObject(String feedContent) {
              > JSONObject json = new JSONObject(); // main json object to be
              > returned
              > JSONArray itemArray = new JSONArray();
              > Document doc = XMLEditor.getDOMFromXMLString(feedContent);
              >
              > NodeList items = doc.getElementsByTagName("item"); // items
              should
              > be a
              > // JSONArray
              > for (int i = 0; i < items.getLength(); i++) {
              > NodeList children = items.item(i).getChildNodes();
              > String data = "";
              > for (int j = 0; j < children.getLength(); j++) { // this
              part
              > // relies on the
              > // fact that
              > // title comes
              > // before link
              > // hence the
              > // comma
              > if
              (children.item(j).getNodeName().equalsIgnoreCase("link"))
              > data += "\"link\":\"" + children.item
              > (j).getFirstChild().getNodeValue()
              > + "\"}";
              > if (children.item
              > (j).getNodeName().equalsIgnoreCase("title"))
              > data += "{\"title\":\"" + children.item
              > (j).getFirstChild().getNodeValue()
              > + "\",";
              > }
              > try {
              > JSONObject itemChildren = new JSONObject(data);
              > itemArray.put(itemChildren);
              > } catch (JSONException jEx) {
              > jEx.printStackTrace();
              > }
              > }
              > try {
              > json.put("items", itemArray);
              > } catch (JSONException jEx) {
              > jEx.printStackTrace();
              > }
              > return json;
              >
              > }
              >
              >
              > On 2/15/07, weilandaj <weilandaj@...> wrote:
              > >
              > > I'm using the php json extension.
              > >
              > > http://us3.php.net/manual/en/function.json-encode.php
              > >
              > > It generates exactly what I pasted in my first message. After it gets
              > > eval()'ed it gets mangled. I did some more testing and one thing that
              > > stood out is "href" seems to get yanked out for some reason in the
              > > eval. Not sure if that's some kind of security thing
              > >
              > > --- In json@yahoogroups.com <json%40yahoogroups.com>, "shalini
              israni" <
              > > shaliny.i@> wrote:
              > > >
              > > > How are you constructing the JSON object on the serverside before u
              > > send it
              > > > to the client side? I feel something is mucking up there... Could u
              > > paste
              > > > that code??? I'm not into php...but maybe someone else on the group
              > > is... :)
              > > > No sweat..it'll get solved!
              > > >
              > > > On 2/14/07, weilandaj <weilandaj@> wrote:
              > > > >
              > > > > Hi All,
              > > > >
              > > > > I'm having some trouble with an element of my web application with
              > > json.
              > > > >
              > > > > The short story is I am sending database as part of an ajax
              request.
              > > > > One piece of that data is HTML text. On the server end I'm
              using php
              > > > > with smarty templates and need to send a short bit of HTML
              that comes
              > > > > from a template.
              > > > >
              > > > > The problem is the html snippet is being severely mangled on the
              > > > > browser end (tested in IE and FF). Here's an example:
              > > > >
              > > > > {"html":"<a href=\"4427-New-Gaming-Channel.html\"\>New Gaming
              > > > > Channel</a\><b\> . 8 Views</b\>","id":"4427"}
              > > > >
              > > > > The HTML becomes:
              > > > >
              > > > > <a ew-Gaming-Channel.html">New Gaming Channel</a><b> . 8 Views</b>
              > > > >
              > > > > I've tried all sorts of escaping and other things. I'm really
              stuck
              > > > > as to why this happens.
              > > > >
              > > > > Thanks for you help.
              > > > >
              > > > >
              > > > >
              > > >
              > > >
              > > >
              > > > --
              > > >
              > > > Shalini
              > > >
              > > >
              > > > [Non-text portions of this message have been removed]
              > > >
              > >
              > >
              > >
              >
              >
              >
              > --
              >
              > Shalini
              >
              >
              > [Non-text portions of this message have been removed]
              >
            • xxppmmssttooss
              Hi, i want to use JSON also with HTML snippets. The snippet has included Smarty variables, i use the FCKeditor as wysiwyg-editor. Firstly i found out that the
              Message 6 of 7 , Mar 6 1:41 PM
              • 0 Attachment
                Hi,

                i want to use JSON also with HTML snippets. The snippet has included
                Smarty variables, i use the FCKeditor as wysiwyg-editor.
                Firstly i found out that the quotation mark (") in the HTML snippet
                will destroy the JSON encoded object. I read json.org, and i read the
                control characters (",\,/ etc.) can not be unicode chars like all
                other chars. But i trying to replace the control characters in the
                json-wanted format (\",\\,\/ etc.) and it will not work :(

                But when i replace only the quotation mark (") with the HTML code
                " it will works:

                replace(/"/g, "\"""); (client)
                str_replace('"','"',$foo); (server)

                Only with this change, i can send a little bit HTML code and smarty
                variables (<b>{$foo}</b>,{if $bar}<i>{$bar}</i>{/if}).
                It will works, but not fine!!!

                Sometimes, when i send HTML snippets with this solution, it will
                works, but sometime, i can't decode the JSON object.

                Firstly i think, another character will destroy the JSON object like
                the quotation mark (") before... I can't found another character, when
                it sometimes works, and sometimes not works, with the same HTML
                snippet...

                I need also a solution for sending HTML code (or other programming
                code, css, javascript etc.) with an JSON object for my AJAX application.
              Your message has been successfully submitted and would be delivered to recipients shortly.