You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Philip Frank (JIRA)" <ji...@apache.org> on 2017/12/27 08:42:02 UTC

[jira] [Created] (THRIFT-4436) Deserialization of nested list discards content

Philip Frank created THRIFT-4436:
------------------------------------

             Summary: Deserialization of nested list discards content
                 Key: THRIFT-4436
                 URL: https://issues.apache.org/jira/browse/THRIFT-4436
             Project: Thrift
          Issue Type: Bug
          Components: JavaScript - Library
    Affects Versions: 0.11.0
            Reporter: Philip Frank


I'm trying to transmit a list of lists, like this:

{code}
service HelloSvc {
  list<list<string>> test()
}
{code}

Using XHR Transport and JSON Protocol, with a service implementation in Python like this:

{code}
class HelloSvcHandler:
    def __init__(self):
        pass

    def test(self,):
        return [
            ["s1", "s2"],
            ["s3", "s4"],
            ["s5"]
        ]
{code}

The serialized response looks good to me (seen in browser development tools):

{code}
[1,"test",2,0,{"0":{"lst":["lst",3,["str",2,"s1","s2"],["str",2,"s3","s4"],["str",1,"s5"]]}}]
{code}

However, when deserialized to JavaScript, the result looks like this:

{code}
[["s1","s2"],[],[]]
{code}

I would expect it to look like this:

{code}
[["s1","s2"],["s3","s4"],["s5"]]
{code}

It looks to me like during JSON deserialization, all but the first entry in the list of lists lose their content.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)