python导入json模块_Python之json模块

json模块:用于实现Python数据类型与通用(json)字符串之间的转换。

记录下比较常用的一些操作。方便以后查询与理解。该模块安装好Python环境后会自带有的。

windows安装Python3带图解

json模块引入

import json

常用操作

json.load

主要用于读取json文件中的内容。

读取json文件中的内容

demo.json文件内容如下:

[

{"name": "一切皆往事"},

{"name": "一切皆往事"}

]

实战源码:

import json

with open('demo.json', 'r', encoding='utf-8') as fp:

data_list = json.load(fp)

print(type(data_list))

print(data_list)

json.loads

字符列表转列表

import json

str_list = '[1,2,3]'

list1 = json.loads(str_list)

print(list1,type(list1)) # [1, 2, 3]

字符字典转字典

import json

str_dict = '{"name":11}'

dict1 = json.loads(str_dict)

print(dict

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Boost.Python是一个非常强大的工具,可以轻松地将C++代码与Python代码集成在一起。要在Boost.Python导入json模块,可以按照以下步骤操作: 1. 在C++代码中包含必要的头文件: ```cpp #include <boost/python.hpp> #include <json/json.h> ``` 2. 在Boost.Python中定义json模块: ```cpp BOOST_PYTHON_MODULE(json) { using namespace boost::python; using namespace Json; // 导入JsonCpp库中的类型 class_<Value>("Value") .def(init<>()) .def(init<int>()) .def(init<double>()) .def(init<const char*>()) .def("isNull", &Value::isNull) .def("isBool", &Value::isBool) .def("isInt", &Value::isInt) .def("isDouble", &Value::isDouble) .def("isString", &Value::isString) .def("isArray", &Value::isArray) .def("isObject", &Value::isObject) .def("size", &Value::size) .def("__len__", &Value::size) .def("__getitem__", &Value::operator[], return_internal_reference<>()) .def("__setitem__", &Value::operator[]=) .def("__str__", &Value::toStyledString) ; } ``` 上述代码中,我们使用Boost.Python的`BOOST_PYTHON_MODULE`宏定义了一个名为"json"的Python模块,并导入JsonCpp库中的`Value`类型。在定义`Value`类型时,我们使用`boost::python::class_`来导出其成员函数和操作符,使其可以在Python中使用。 3. 在Python导入json模块: ```python import json # 创建Json对象 obj = json.Value() # 设置Json值 obj['name'] = 'Alice' obj['age'] = 28 # 打印Json字符串 print obj ``` 在上述Python代码中,我们可以通过`import json`导入我们在C++中定义的json模块,并使用其中的`Value`类型来创建Json对象并设置其值。最后,我们使用`print`语句打印Json对象的字符串表示。 需要注意的是,在使用Boost.Python导出C++类型时,必须确保类型的成员函数和操作符的签名与Python中的对应函数或操作符的签名一致。否则,在调用这些函数或操作符时可能会出现错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值