From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists Resent-From: Rolando Pereira Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Aug 2013 22:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15097@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13765203131730 (code B ref -1); Wed, 14 Aug 2013 22:46:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Aug 2013 22:45:13 +0000 Received: from localhost ([127.0.0.1]:58967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9joX-0000Rp-4f for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55060) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9joV-0000RP-6N for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9joG-0006Ip-HD for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:06 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33113) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9joG-0006Il-EC for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:44:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9jo8-0006kQ-6m for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9jo0-0006Gp-SV for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:48 -0400 Received: from relay3.ptmail.sapo.pt ([212.55.154.23]:34647 helo=sapo.pt) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1V9jo0-0006E2-Fa for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:40 -0400 Received: (qmail 29646 invoked from network); 14 Aug 2013 22:44:37 -0000 Received: from unknown (HELO sapo.pt) (10.134.37.163) by relay3 with SMTP; 14 Aug 2013 22:44:37 -0000 Received: (qmail 28770 invoked from network); 14 Aug 2013 22:44:37 -0000 Received: from unknown (HELO rolando-K8NF4G-VSTA) (finalyugi@sapo.pt@[188.82.172.151]) (envelope-sender ) by mta13 (qmail-ptmail-1.0.0) with AES128-SHA encrypted SMTP for ; 14 Aug 2013 22:44:37 -0000 From: Rolando Pereira Date: Wed, 14 Aug 2013 23:44:36 +0100 Message-ID: <87pptf7uzv.fsf@sapo.pt> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.7 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Hello all, The function `json-encode' can't encode a list thats composed only of other lists, i.e. the following doesn't work: (json-encode '((1 2 3))) => Error: (json-key-format 1) If I had an extra "nil" in the topmost list `json-encode' then it works fine: (json-encode '((1 2 3) nil)) => "[[1,2,3],null]" However if I replace the `nil' with another list then I get the same error: (json-encode '((1 2 3) (4))) => Error: (json-key-format 1) Here's a small ERT test that should trigger the bug: (ert-deftest json-encode-list-of-lists-test () (ert-should (string= (json-encode '(1 2 3)) "[1,2,3]")) ; works (ert-should (string= (json-encode '((1) 2 3)) "[[1],2,3]")) ; works (ert-should (string= (json-encode '((1 2 3))) "[[1,2,3]]")) ; doesn't work (ert-should (string= (json-encode '((1 2 3) nil)) "[[1,2,3],null]")) ; works (ert-should (string= (json-encode '((1 2 3) (4))) "[[1,2,3],[4]]")) ; doesn't work ) Best regards, Rolando Pereira From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists In-Reply-To: <87pptf7uzv.fsf@sapo.pt> Resent-From: Glenn Morris Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Aug 2013 01:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Rolando Pereira Cc: 15097@debbugs.gnu.org Received: via spool by 15097-submit@debbugs.gnu.org id=B15097.137653175521800 (code B ref 15097); Thu, 15 Aug 2013 01:56:01 +0000 Received: (at 15097) by debbugs.gnu.org; 15 Aug 2013 01:55:55 +0000 Received: from localhost ([127.0.0.1]:59255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9mn4-0005fY-KZ for submit@debbugs.gnu.org; Wed, 14 Aug 2013 21:55:54 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:38867 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9mn2-0005fQ-Mp for 15097@debbugs.gnu.org; Wed, 14 Aug 2013 21:55:53 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1V9mn1-0001BV-2G; Wed, 14 Aug 2013 21:55:51 -0400 From: Glenn Morris References: <87pptf7uzv.fsf@sapo.pt> X-Spook: Dick Cheney Kh-11 doctrine offensive information warfare X-Ran: ]0rD:\G]daEkW;SaSEsU#dsi3.iX,$wpWq![[Nb)dM0oxzZ=$^X)Yco3"$fMgQ6U~=Nk|E X-Hue: cyan X-Attribution: GM Date: Wed, 14 Aug 2013 21:55:50 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -7.8 (-------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.8 (-------) Rolando Pereira wrote: > The function `json-encode' can't encode a list thats composed only of other > lists, i.e. the following doesn't work: > > (json-encode '((1 2 3))) => Error: (json-key-format 1) [...] > (ert-should (string= (json-encode '((1 2 3))) "[[1,2,3]]")) ; doesn't work I have no idea what this stuff is supposed to do, but by inspection it treats such arguments as alists and requires that the key be encodable as a string. Eg this works (json-encode '((a 2 3))) -> "{\"a\":[2, 3]}" Your example fails because 1 is encoded as 1, not "1". Should the answer be "{\"1\":[2, 3]} or "[[1,2,3]]"? From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists Resent-From: Rolando Pereira Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Aug 2013 22:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Glenn Morris Cc: Rolando Pereira , 15097@debbugs.gnu.org Received: via spool by 15097-submit@debbugs.gnu.org id=B15097.137695016313655 (code B ref 15097); Mon, 19 Aug 2013 22:10:02 +0000 Received: (at 15097) by debbugs.gnu.org; 19 Aug 2013 22:09:23 +0000 Received: from localhost ([127.0.0.1]:41162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBXda-0003YA-EH for submit@debbugs.gnu.org; Mon, 19 Aug 2013 18:09:22 -0400 Received: from relay4.ptmail.sapo.pt ([212.55.154.24]:47285 helo=sapo.pt) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1VBXdT-0003Xs-9f for 15097@debbugs.gnu.org; Mon, 19 Aug 2013 18:09:17 -0400 Received: (qmail 9925 invoked from network); 19 Aug 2013 22:09:13 -0000 Received: from unknown (HELO sapo.pt) (10.134.37.165) by relay4 with SMTP; 19 Aug 2013 22:09:13 -0000 Received: (qmail 20433 invoked from network); 19 Aug 2013 22:09:13 -0000 Received: from unknown (HELO rolando-K8NF4G-VSTA) (finalyugi@sapo.pt@[188.80.62.180]) (envelope-sender ) by mta15 (qmail-ptmail-1.0.0) with AES128-SHA encrypted SMTP for <15097@debbugs.gnu.org>; 19 Aug 2013 22:09:12 -0000 From: Rolando Pereira References: <87pptf7uzv.fsf@sapo.pt> Date: Mon, 19 Aug 2013 23:09:10 +0100 In-Reply-To: (Glenn Morris's message of "Wed, 14 Aug 2013 21:55:50 -0400") Message-ID: <87eh9pcozd.fsf@sapo.pt> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Glenn Morris writes: > Rolando Pereira wrote: > >> The function `json-encode' can't encode a list thats composed only of other >> lists, i.e. the following doesn't work: >> >> (json-encode '((1 2 3))) => Error: (json-key-format 1) > [...] >> (ert-should (string= (json-encode '((1 2 3))) "[[1,2,3]]")) ; doesn't work > > I have no idea what this stuff is supposed to do, but by inspection it > treats such arguments as alists and requires that the key be encodable > as a string. Eg this works > > (json-encode '((a 2 3))) -> "{\"a\":[2, 3]}" > > Your example fails because 1 is encoded as 1, not "1". > > Should the answer be "{\"1\":[2, 3]} or "[[1,2,3]]"? 0Personally I was expecting the answer to be "[[1,2,3]]" i.e. turn the '(1 2 3) list into a list and not an object. Which, for the purposes of comparison, is similar to what the Lisp library "cl-json" and the Python "json" library do: * Common Lisp CL-USER> (ql:quickload 'cl-json) [...snip...] CL-USER> (cl-json:encode-json '((1 2 3))) [[1,2,3]] NIL CL-USER> * Python Python 2.7.3 (default, Aug 1 2012, 05:16:07) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import json >>> json.dumps([[1,2,3]]) '[[1, 2, 3]]' From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists Resent-From: Rolando Pereira Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Aug 2013 22:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Glenn Morris Cc: Rolando Pereira , 15097@debbugs.gnu.org Received: via spool by 15097-submit@debbugs.gnu.org id=B15097.137695017213679 (code B ref 15097); Mon, 19 Aug 2013 22:10:03 +0000 Received: (at 15097) by debbugs.gnu.org; 19 Aug 2013 22:09:32 +0000 Received: from localhost ([127.0.0.1]:41165 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBXdj-0003YW-Gp for submit@debbugs.gnu.org; Mon, 19 Aug 2013 18:09:32 -0400 Received: from relay2.ptmail.sapo.pt ([212.55.154.22]:36635 helo=sapo.pt) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1VBXdc-0003YJ-Nj for 15097@debbugs.gnu.org; Mon, 19 Aug 2013 18:09:25 -0400 Received: (qmail 25827 invoked from network); 19 Aug 2013 22:09:22 -0000 Received: from unknown (HELO sapo.pt) (10.134.37.165) by relay2 with SMTP; 19 Aug 2013 22:09:22 -0000 Received: (qmail 20567 invoked from network); 19 Aug 2013 22:09:22 -0000 Received: from unknown (HELO rolando-K8NF4G-VSTA) (finalyugi@sapo.pt@[188.80.62.180]) (envelope-sender ) by mta15 (qmail-ptmail-1.0.0) with AES128-SHA encrypted SMTP for <15097@debbugs.gnu.org>; 19 Aug 2013 22:09:21 -0000 From: Rolando Pereira In-Reply-To: (Glenn Morris's message of "Wed, 14 Aug 2013 21:55:50 -0400") References: <87pptf7uzv.fsf@sapo.pt> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Date: Mon, 19 Aug 2013 23:09:19 +0100 Message-ID: <87d2p9coz4.fsf@sapo.pt> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Glenn Morris writes: > Rolando Pereira wrote: > >> The function `json-encode' can't encode a list thats composed only of other >> lists, i.e. the following doesn't work: >> >> (json-encode '((1 2 3))) => Error: (json-key-format 1) > [...] >> (ert-should (string= (json-encode '((1 2 3))) "[[1,2,3]]")) ; doesn't work > > I have no idea what this stuff is supposed to do, but by inspection it > treats such arguments as alists and requires that the key be encodable > as a string. Eg this works > > (json-encode '((a 2 3))) -> "{\"a\":[2, 3]}" > > Your example fails because 1 is encoded as 1, not "1". > > Should the answer be "{\"1\":[2, 3]} or "[[1,2,3]]"? Personally I was expecting the answer to be "[[1,2,3]]" i.e. turn the '(1 2 3) list into a list and not an object. Which, for the purposes of comparison, is similar to what the Lisp library "cl-json" and the Python "json" library do: * Common Lisp CL-USER> (ql:quickload 'cl-json) [...snip...] CL-USER> (cl-json:encode-json '((1 2 3))) [[1,2,3]] NIL CL-USER> * Python Python 2.7.3 (default, Aug 1 2012, 05:16:07) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import json >>> json.dumps([[1,2,3]]) '[[1, 2, 3]]' From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists Resent-From: Glenn Morris Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Aug 2013 17:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Rolando Pereira Cc: 15097@debbugs.gnu.org, Edward O'Connor Received: via spool by 15097-submit@debbugs.gnu.org id=B15097.137701827424330 (code B ref 15097); Tue, 20 Aug 2013 17:05:01 +0000 Received: (at 15097) by debbugs.gnu.org; 20 Aug 2013 17:04:34 +0000 Received: from localhost ([127.0.0.1]:42966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBpMA-0006KM-Ax for submit@debbugs.gnu.org; Tue, 20 Aug 2013 13:04:34 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:41979) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBpM8-0006KE-Oz for 15097@debbugs.gnu.org; Tue, 20 Aug 2013 13:04:33 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VBpM7-0000KB-6U; Tue, 20 Aug 2013 13:04:31 -0400 From: Glenn Morris References: <87pptf7uzv.fsf@sapo.pt> <87d2p9coz4.fsf@sapo.pt> X-Spook: LABLINK Commecen Adriatic Albania Compsec JPL World Trade X-Ran: f!Jey|dFyu:B_1PNCVh8dM:BR3RIWIP@G_2s-A5[zTD_V$#y9ZQBp%EmOm@nW|6$Qy.`}% X-Hue: magenta X-Attribution: GM Date: Tue, 20 Aug 2013 13:04:31 -0400 In-Reply-To: <87d2p9coz4.fsf@sapo.pt> (Rolando Pereira's message of "Mon, 19 Aug 2013 23:09:19 +0100") Message-ID: <401u5o47kw.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -7.8 (-------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.8 (-------) Rolando Pereira wrote: > Python 2.7.3 (default, Aug 1 2012, 05:16:07) > [GCC 4.6.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> import json >>>> json.dumps([[1,2,3]]) > '[[1, 2, 3]]' Well, maybe that's the actual issue, since json.el and the python version apparently disagree about what to do in such cases. Eg: (json-encode '(("a" 2 3))) -> "{\"a\":[2, 3]}" json.dumps([["a",2,3]]) -> [["a", 2, 3]] (Context is at http://debbugs.gnu.org/15097 ) From unknown Sat Aug 16 21:00:18 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15097: 24.3.50; json.el can't encode lists of lists Resent-From: "Edward O'Connor" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Aug 2013 20:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Glenn Morris Cc: Rolando Pereira , 15097@debbugs.gnu.org Received: via spool by 15097-submit@debbugs.gnu.org id=B15097.137702981016783 (code B ref 15097); Tue, 20 Aug 2013 20:17:01 +0000 Received: (at 15097) by debbugs.gnu.org; 20 Aug 2013 20:16:50 +0000 Received: from localhost ([127.0.0.1]:43248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBsMD-0004Mc-Bq for submit@debbugs.gnu.org; Tue, 20 Aug 2013 16:16:49 -0400 Received: from mail-we0-f175.google.com ([74.125.82.175]:33658) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VBsMA-0004MQ-Nc for 15097@debbugs.gnu.org; Tue, 20 Aug 2013 16:16:47 -0400 Received: by mail-we0-f175.google.com with SMTP id q58so862991wes.34 for <15097@debbugs.gnu.org>; Tue, 20 Aug 2013 13:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=sLjIo/GemaRY3hywR6gTT6dVHjd3wBdBV8dktJw/8YQ=; b=uuMEiB6JNVM+T2P0IMxHuY70NU3foAB3Ops2uEXZpB3KWjHgItzGlwqjdjSw+WKscZ nxojvnJaZ7VAfr3LkHZqv0VUss0EiL6SnTrsNMOhcv7Z5eJeE8KxF5AhU+04US15/sTg 8RGE9+0GwIlbFSOFExHEPumDkJgItHqamODVPoiATTaevOsHa1WeVOcXv5wT24vCQyXz 3u200/bwDWb6+UgvFjftVPKFG73sdGiZwwVHlpPsCeQOUSCqT3xFZfjSZNslbKHFWdEp ySv//7PeFc0o+PyJS8g/z9CVw3JrSk3zhZ4BiQKBXmrL8Uov3Yo1gSGitmXOeqdAMBRU 7M3A== X-Received: by 10.194.235.5 with SMTP id ui5mr2732656wjc.50.1377029805911; Tue, 20 Aug 2013 13:16:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.120.6 with HTTP; Tue, 20 Aug 2013 13:16:25 -0700 (PDT) In-Reply-To: <401u5o47kw.fsf@fencepost.gnu.org> References: <87pptf7uzv.fsf@sapo.pt> <87d2p9coz4.fsf@sapo.pt> <401u5o47kw.fsf@fencepost.gnu.org> From: "Edward O'Connor" Date: Tue, 20 Aug 2013 13:16:25 -0700 Message-ID: Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.4 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) The basic problem is that (("a" 1 2)) is the same thing as (("a" . (1 2))). Is that a list of one three-item list, or is it an alist with one entry, whose key is "a" and whose value is a two-item list? It might be reasonable for `json-encode-list' to provide programmatic control over this, but the current behavior isn't a bug. On Tue, Aug 20, 2013 at 10:04 AM, Glenn Morris wrote: > Rolando Pereira wrote: > >> Python 2.7.3 (default, Aug 1 2012, 05:16:07) >> [GCC 4.6.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >>>>> import json >>>>> json.dumps([[1,2,3]]) >> '[[1, 2, 3]]' > > Well, maybe that's the actual issue, since json.el and the python > version apparently disagree about what to do in such cases. Eg: > > (json-encode '(("a" 2 3))) -> "{\"a\":[2, 3]}" > json.dumps([["a",2,3]]) -> [["a", 2, 3]] > > > (Context is at http://debbugs.gnu.org/15097 ) > -- Edward O'Connor From unknown Sat Aug 16 21:00:18 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Rolando Pereira Subject: bug#15097: closed (Wontfix, apparently) Message-ID: References: <532E81D3.3040905@dancol.org> <87pptf7uzv.fsf@sapo.pt> X-Gnu-PR-Message: they-closed 15097 X-Gnu-PR-Package: emacs Reply-To: 15097@debbugs.gnu.org Date: Sun, 23 Mar 2014 06:41:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1395556864-5009-1" This is a multi-part message in MIME format... ------------=_1395556864-5009-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #15097: 24.3.50; json.el can't encode lists of lists which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 15097@debbugs.gnu.org. --=20 15097: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15097 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1395556864-5009-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 15097-done) by debbugs.gnu.org; 23 Mar 2014 06:40:28 +0000 Received: from localhost ([127.0.0.1]:45349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRc54-0001HN-SF for submit@debbugs.gnu.org; Sun, 23 Mar 2014 02:40:27 -0400 Received: from dancol.org ([96.126.100.184]:58559) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRc4y-0001H6-OD for 15097-done@debbugs.gnu.org; Sun, 23 Mar 2014 02:40:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=U3hpo2Qb4dDYhNrrmlREODjtWBpJNecx49YFFwoKrgE=; b=T7aXveRo1K6kJAfq744GbsDvwpGW9yPLyCicQXtxJ/3SsXnMZNqvw3JbO5AYVhNaML/OK9mov/L335v9kBfSFfus2iP5Q+xyu4/ha2pWFMRZ0MNNIDQoIFP0Oib7bVCtSOCMG4S0la72xhMcJ3WYcF0HrTXDoG2T3UCuJrDK6JcX/CpsI7ba2zDKAX4kSOCHvdpgKrNbeTCam7A3pHXEE8gWOX8RNB4jRdWDAs96VyjZu/izPlEHqY6LsiZTz83TErGEXP9kHH85OCy7pJznyNA1vx3lMEXLG8ZbijeUzby0HuJhN47XQx8LRB5Vj0VJtTYcbUfnXvzQpJsX8KmRcw==; Received: from [2601:8:b200:551::2b1] by dancol.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1WRc4y-0000qX-3V for 15097-done@debbugs.gnu.org; Sat, 22 Mar 2014 23:40:20 -0700 Message-ID: <532E81D3.3040905@dancol.org> Date: Sat, 22 Mar 2014 23:40:19 -0700 From: Daniel Colascione User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: 15097-done@debbugs.gnu.org Subject: Wontfix, apparently X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="0iRdXP1bkhfgRVUeRTTeJfaTmfgBV9hkP" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 15097-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --0iRdXP1bkhfgRVUeRTTeJfaTmfgBV9hkP Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Wontfix according to discussion --0iRdXP1bkhfgRVUeRTTeJfaTmfgBV9hkP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTLoHTAAoJEMAaIROpHW7IMVUP/0dG1SKuW11VSq9Vq8Hn/cPU qKlfnq3TGzjZoh6NZ2Yjz902LGZrJnbUX7khCeY5JjWMJt2nbp4kyQ565fyceF3v XlAuxA9QWHvks1tM/tDGjZ7g726/QeFlJrc4ahBL0dhWzrviKdexeq1yvFBT6FVO /HH7uhKl949QZ8CuzImtpz4/0QyDnM78X+WIb00qZRVyFf3bka1FpRSaqcg1DUPh 0PbIIp3kkVZgk367rcQn3B53CZiTLJ4RxAiSk2E8Ni9NAinR9GO2LUgvbZqJY0RY qkvXR3Zm24wMd8aNADApjenJR+3Y05zAuzp8Y3przKPnlz8kNNLpIDF4nJGt22TL rmVo6PaWebg1L+2L2hlT6aXPKVChkEMHuJ7sn0jv9Lngfycy/vJRtlsCK41UMn47 ZaqQrfxS4juFuAqDSK4aDy0bt61/PS9/6CvwuHPkIYVeoTqo4x+Ly/IxP2knxJ8S nAEUWmPZQ+HUo+bc+4+lHf46AxIouQrmbYLprcdzjisnlu4vyS97XJSwHa0CYKdS m4DTSR/HQmjq6+Z9F33hpIeRdg1POQdmvYjsapytuh01uX4Uqesh2Q3ckoeZaihY H6CyPWCOgNSlMnguaWOt6vzL/9RX81FnravbB8A1zFIvnskQTE84I2p8AduJNUAA XphIg4tSy8GRltf2IuRC =Wv5J -----END PGP SIGNATURE----- --0iRdXP1bkhfgRVUeRTTeJfaTmfgBV9hkP-- ------------=_1395556864-5009-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Aug 2013 22:45:13 +0000 Received: from localhost ([127.0.0.1]:58967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9joX-0000Rp-4f for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55060) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9joV-0000RP-6N for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9joG-0006Ip-HD for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:45:06 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33113) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9joG-0006Il-EC for submit@debbugs.gnu.org; Wed, 14 Aug 2013 18:44:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9jo8-0006kQ-6m for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9jo0-0006Gp-SV for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:48 -0400 Received: from relay3.ptmail.sapo.pt ([212.55.154.23]:34647 helo=sapo.pt) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1V9jo0-0006E2-Fa for bug-gnu-emacs@gnu.org; Wed, 14 Aug 2013 18:44:40 -0400 Received: (qmail 29646 invoked from network); 14 Aug 2013 22:44:37 -0000 Received: from unknown (HELO sapo.pt) (10.134.37.163) by relay3 with SMTP; 14 Aug 2013 22:44:37 -0000 Received: (qmail 28770 invoked from network); 14 Aug 2013 22:44:37 -0000 Received: from unknown (HELO rolando-K8NF4G-VSTA) (finalyugi@sapo.pt@[188.82.172.151]) (envelope-sender ) by mta13 (qmail-ptmail-1.0.0) with AES128-SHA encrypted SMTP for ; 14 Aug 2013 22:44:37 -0000 From: Rolando Pereira To: bug-gnu-emacs@gnu.org Subject: 24.3.50; json.el can't encode lists of lists Date: Wed, 14 Aug 2013 23:44:36 +0100 Message-ID: <87pptf7uzv.fsf@sapo.pt> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Hello all, The function `json-encode' can't encode a list thats composed only of other lists, i.e. the following doesn't work: (json-encode '((1 2 3))) => Error: (json-key-format 1) If I had an extra "nil" in the topmost list `json-encode' then it works fine: (json-encode '((1 2 3) nil)) => "[[1,2,3],null]" However if I replace the `nil' with another list then I get the same error: (json-encode '((1 2 3) (4))) => Error: (json-key-format 1) Here's a small ERT test that should trigger the bug: (ert-deftest json-encode-list-of-lists-test () (ert-should (string= (json-encode '(1 2 3)) "[1,2,3]")) ; works (ert-should (string= (json-encode '((1) 2 3)) "[[1],2,3]")) ; works (ert-should (string= (json-encode '((1 2 3))) "[[1,2,3]]")) ; doesn't work (ert-should (string= (json-encode '((1 2 3) nil)) "[[1,2,3],null]")) ; works (ert-should (string= (json-encode '((1 2 3) (4))) "[[1,2,3],[4]]")) ; doesn't work ) Best regards, Rolando Pereira ------------=_1395556864-5009-1--