Search code examples
kdb

How do I encode a single dictionary item to JSON in KDB?


In KDB:

.j.j `something`else!(1 2)

produces {"something": 1, "else": 2} as expected

However, doing

.j.j `something!1 

just produces ,"1", with no labels.

What am I doing wrong? Or is this is a bug in .j.j?


Solution

  • You need to enlist the keys and values in the dictionary

    q).j.j enlist[`something]!enlist 1
    "{\"something\":1}"
    

    Otherwise your input is not a dictionary (type 99h), but an enumeration

    q)type `something!1
    -20h