标签: ujson

python dict 到 json 二进制字符串的最快方法

我需要将这个 python dict 转换为二进制 json

   d = {'1': 'myval', '2': 'myval2'}

   json_binary_str = b'{"1": "myval", "2": "myval2"}'
Run Code Online (Sandbox Code Playgroud)

在 python 3 中,我有这个:

   import ujson
   ujson.dumps(d)
Run Code Online (Sandbox Code Playgroud)

但是,这不会创建二进制字符串。我怎样才能做到这一点 ?

python json ujson

6
推荐指数
1
解决办法
2万
查看次数

ujson 无法编码 numpy 数组

numpy 数组

x = np.array([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)

ujson.encode

ujson.encode(x, ensure_ascii=False, double_precision=-1)
Run Code Online (Sandbox Code Playgroud)

给我错误

OverflowError: Maximum recursion level reached
Run Code Online (Sandbox Code Playgroud)

版本信息

ujson 1.33
python 3.4.3
Run Code Online (Sandbox Code Playgroud)

似乎 ujson 无法编码 numpy 数组并给出令人困惑的错误消息。

顺便说一下,在哪里可以找到ujson的文档。谢谢

python json python-3.x ujson

5
推荐指数
1
解决办法
1271
查看次数

python 没有名为 ujson 的模块,虽然它已经安装

我已经使用命令安装了 ujson pip install ujson ,当我尝试运行我的 python 项目时,它返回 ImportError: No module named ujson

  • 操作系统版本:Red Hat Enterprise Linux Server 7.2 (Maipo)
  • Python 版本:Python 2.7.6
  • 点子列表:ujson (1.35)

请问有什么帮助吗?

python linux redhat python-2.7 ujson

5
推荐指数
1
解决办法
1万
查看次数

我想用ujson保持OrderedDict的顺序

我的函数的返回值类型是OrderedDict,

现在我想在文件上写这个:

这是我的代码:

mainDict = OrderedDict([('a',1),('b',2),('c',3),('d',[4,5,6])])
with open(outFileName, 'w', encoding='utf-8') as outFile :
   outFile.write(ujson.dumps(mainDict, indent=4))
Run Code Online (Sandbox Code Playgroud)

我希望它能保持文件中字典的顺序,但它混淆了.

是因为使用ujson.dumps?以及如何OrderedDict在输出文件中保留a的顺序?

python ordereddictionary ujson

3
推荐指数
1
解决办法
1153
查看次数

Python打破了用字符解析json的问题

我正在尝试使用转义字符解析json字符串(我想某种方式)

{
    "publisher": "\"O'Reilly Media, Inc.\""
}
Run Code Online (Sandbox Code Playgroud)

如果我\"从字符串中删除字符,Parser解析得很好,

不同解析器引发的异常是,

JSON

  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 382, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 17 column 20 (char 392)
Run Code Online (Sandbox Code Playgroud)

ujson

ValueError: Unexpected character in found when decoding object value
Run Code Online (Sandbox Code Playgroud)

如何让解析器转义这个字符?

更新: 在此输入图像描述 PS.在这个例子中,json作为ujson导入

在此输入图像描述

这就是我的想法

comma只是意外添加,它在json的末尾没有尾随逗号,json是有效的

在此输入图像描述

字符串定义.

python parsing json ujson

2
推荐指数
1
解决办法
4263
查看次数

使用uJson for Delphi解码json

我有一个看起来像这样的JSON文件,我正在尝试对其进行解码,但是没有运气:

[
  {
    "FirstName": "Kim",
    "Surname": "Jensen"
  },
  {
    "FirstName": "Amery",
    "Surname": "Mcmillan"
  },
  {
    "FirstName": "Denton",
    "Surname": "Burnett"
  }
  ...
]
Run Code Online (Sandbox Code Playgroud)

将uJson与Delphi 2007结合使用,我知道当数组具有如下名称时如何提取数据:

{
  "Names": [
    {
      "FirstName": "Kim",
      "Surname": "Jensen"
    },
    {
      "FirstName": "Amery",
      "Surname": "Mcmillan"
    },
    {
      "FirstName": "Denton",
      "Surname": "Burnett"
    }
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)
var
  json: TJSONObject;
  Text: String;
  i: Integer;
begin
  json := TJSONObject.create(jsontext);

  for i:=0 to json.getJSONArray('Names').Length -1 do
  begin
    Text := json.getJSONArray('Names').getJSONObject(i).optString('FirstName');
    ...
  end;
end;
Run Code Online (Sandbox Code Playgroud)

但是,这个数组没有名字,我已经尝试了几乎所有我能想到的东西,但是这个简单的事情却花了我几个小时才能弄清楚。

delphi json delphi-2007 ujson

1
推荐指数
1
解决办法
164
查看次数