Extra in CSL-JSON


In Zotero one can add CSL variable fields to the Extra field. I am curious to know about the thinking behind the CSL JSON export. I would have thought that these CSL fields would have been exported to the key-value pairs in their names. But they are exported from zotero as text (as strings in the value side of the Extra field) in the CSL-JSON export. Would it break down-stream ingesting tools of the CSL-JSON if these items in extra were represented in the JSON file as Key-Value pairs? In other words to add these possible values to the JSON file as key-values, does it break strict definitions of what is and is not expected on item types?

As I look at ingesting CSL-JSON should I look to parse out the extra field? or should I expect Zotero to change this (I think there has been some discussion on zotero changes, and CSL changes)?
  • BBT CSL exports do place the extra fields in the CSL object on export.
  • dstillman explained somewhere why they're not doing this at the Zotero level (I forgot the details, I think it came down mainly to the fact that using the Extra field is a short-termish workaround) but as long as the CSL-JSON is valid, i.e. you don't export any variables that don't exist in CSL, it's not going to cause any problems anywhere else.
  • edited September 25, 2020
    I only migrate variables that map to valid CSL fields.
  • @emilianoeheyns Thanks so much that plugin is working well for me.
Sign In or Register to comment.