javascript - 将javascript json对象转换为字符串

标签 javascript jquery python

我正在使用 Tornado Websocket 构建一个网站,Tornado Websocket 接受这种类型的 json:

{"key1":1,"key2":2,"key3":3}

我想填充 json 中的元素属性并将其发送到 websocket。我的javascript:

     $(".send").click(function(evt){
                evt.preventDefault();

                var command = $(this).data();
                console.log(command);
                ws.send(command);
        });

command 是 json 但我的 websocket 不接受它并在我尝试时抛出错误

#python
json_data  = json.loads(message)

错误:

03-02 18:09 tornado.application ERROR    Uncaught exception in /ws
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado/websocket.py", line 417, in _run_callback
callback(*args, **kwargs)
File "/var/www/scripts/py/realtime.py", line 102, in on_message
kk  = json.loads(message)
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

我认为那是因为我不需要发送一个 json 对象,只需要发送一个具有上述语法的字符串?也许我错了,我不知道。我可以转换我的 $(this).data(); 吗?将 json 转换为上面的语法,还是从 $(this).data(); 生成一个字符串会更好?如果是,怎么办?

最佳答案

@Duncan Tidd 是对的。我只需要对其进行字符串化。

    //html
    <button key1="1"
       data-key2="2"
       data-key3="3"
       data-key4="4"
    type="button"
    class="send btn btn-danger btn-lg">
    <span class="glyphicon glyphicon-off"></span></button>

     //javascript
     $(".send").click(function(evt){
                evt.preventDefault();

                var command = JSON.stringify($(this).data());
                console.log(command);
                ws.send(command);
        });


//console
{"key1":"1","key2":2,"key3":3,"key4":4}

关于javascript - 将javascript json对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755186/

相关文章:

python - django-openid-auth OpenID 失败 : unknown user

asp.net - 在 Asp.net 应用程序中使用什么 : Callback, AjAX 或简单的 Javascript

Javascript 不允许在 csv 上加载超过 4 列

jquery - 使用 javascript/jquery 导出到 Excel 后保留 HTML 表格样式

ajax 上的 Javascript 不断增长

python - django 完整性错误,我知道为什么,但不知道如何解决

python - 平均 Python 中两个配对列表的重复值

javascript - 具有动态高度的 Flexbox 粘性页脚和容器

javascript - 刷新页面显示找不到文件错误如何使用 [angular js + NodeJS/ExpressJS] 解决

javascript - jQuery:附加不适用于前导空格