小编ncp*_*ips的帖子

如何使用Jackson将Java Enums序列化和反序列化为JSON对象

鉴于Enum:

public enum CarStatus {
    NEW("Right off the lot"),
    USED("Has had several owners"),
    ANTIQUE("Over 25 years old");

    public String description;

    public CarStatus(String description) {
        this.description = description;
    }
}
Run Code Online (Sandbox Code Playgroud)

我们如何设置它,以便杰克逊可以将此枚举的实例序列化和反序列化为以下格式.

{
    "name": "NEW",
    "description": "Right off the lot"
}
Run Code Online (Sandbox Code Playgroud)

默认是简单地将枚举序列化为字符串.例如"NEW".

java enums jackson

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

VIM:插入一个行号,后面加一个空格

我需要使用Vim在每行文本之前插入行号,并且在行号后面必须有一个空格.例如,如果这是TestFile:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
Run Code Online (Sandbox Code Playgroud)

它看起来应该是这样的

1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
2 Morbi nunc enim, vehicula eget, ultricies vel, nonummy in, turpis.
Run Code Online (Sandbox Code Playgroud)

我一直在使用:%s/^/\line('.')/带有许多变体的命令,但我无法弄清楚如何在最后获得空间.

有任何想法吗?

vim

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

如何在HDF5文件中保存Python dtype('object')?

我正在尝试将.mat文件中的数据加载到python中,以便我可以将其保存在HDF5文件中.

问题是scipy.io.loadmat返回一个包含dtype = [('counts','| O4')]数组的字典

每当我尝试使用返回的其中一个数组创建数据集时,我会收到以下错误:

>> mat = scipy.io.loadmat('state-10.mat')
>> h = h5py.File('test.hdf5','w')
>> h.create_dataset('set', data=mat['ProteinComplex'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/h5py/_hl/group.py", line 69, in create_dataset
    dsid = dataset.make_new_dset(self, shape, dtype, data, **kwds)
  File "/usr/lib/python2.7/dist-packages/h5py/_hl/dataset.py", line 88, in make_new_dset
    tid = h5t.py_create(dtype, logical=1)
  File "h5t.pyx", line 1332, in h5py.h5t.py_create (h5py/h5t.c:11600)
  File "h5t.pyx", line 1373, in h5py.h5t.py_create (h5py/h5t.c:11209)
  File "h5t.pyx", line 1311, in h5py.h5t._c_compound (h5py/h5t.c:10695)
  File "h5t.pyx", line 1332, in h5py.h5t.py_create …
Run Code Online (Sandbox Code Playgroud)

python numpy hdf5

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

为什么`[a-zA-Z]*`与带有前导空格的单词不匹配?

给出一个像这样的字符串:

    aWordToRemove;
Run Code Online (Sandbox Code Playgroud)

把它变成这个:

    TEST;
Run Code Online (Sandbox Code Playgroud)

如果我运行该命令,:s/[a-zA-Z]*/TEST/那么它与任何东西都不匹配.

但是,如果我跑,:s/[a-zA-Z]\w*/TEST/那么它将替换aWordToRemoveTEST并且保留前导空白区域和尾随分叉完整.

如果第一个正则表达式具有前导空格,为什么不能找到该单词呢?

为什么要\w*工作之前放置?

编辑:

Vim似乎很挑剔.这里有一些工作和不工作的正则表达式.

正在运行的正则表达式

s/[a-zA-Z]\w*/TEST/

s/[a-zA-Z][a-zA-Z]*/TEST/

s/[a-zA-Z]\+/TEST/

不工作的正则表达式

s/[a-zA-Z]*/TEST/

s/[a-zA-Z]+/TEST/

regex vim

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

标签 统计

vim ×2

enums ×1

hdf5 ×1

jackson ×1

java ×1

numpy ×1

python ×1

regex ×1