簡體   English   中英

hack json.dumps輸出未引用的字符串?

[英]Hack json.dumps to output unquoted strings?

我承認Python的json模塊用於編寫json。 我也在使用該模塊來生成簡單的Javascript代碼(即,無效的json)。 大多數情況下這可以,但是我需要一種干凈的方法來通過dumps傳遞變量名。 例如一種寫類似的方法:

>>> json.dumps({"varName":F("varReference")})
'{"varName": varReference}'

但我不知道如何防止json添加引號。 我能想到的最好的是F墊一些罕見的符號的字符串,然后做一個正則表達式上的輸出替換dumps 還有其他建議嗎? 我在jsonsimplejson看到的所有內容都需要可序列化的json對象。

一種方法可能不是嘗試在服務器端執行此操作,而是始終與JSON通信,然后讓JavaScript從此JSON中找出如何從中構建最終對象。

  1. 將JavaScript輸出作為JSON映射“ variablename”:“ variablevalue”。

  2. 通過遍歷對象鍵並根據全局變量中的“ variableablue”將新值值解析為每個鍵,從而在JavaScript端評估變量值。

     Object.getOwnPropertyNames(obj).forEach(function(name, idx, array) { var varName = obj[name]; obj[name] = window[varName]; // Evaluate variable value from global window scope });) 

例如, forEach()是EcmaScript 5,較舊的瀏覽器可能需要polyfills。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM