Python解析json文件相关知识学习
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
今天用python解析一个文本文件,格式如下:
[ { "Key":"android.permission.ACCESS_CHECKIN_PROPERTIES", "Title":"访问检入属性", "Memo":"允许对检入服务上传的属性进行读/写访问。普通应用程序不能使用此权限。", "Level":0 }, { "Key":"android.permission.ACCESS_COARSE_LOCATION", "Title":"大概位置", "Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。", "Level":1 }, { "Key":"android.permission.ACCESS_COARSE_LOCATION", "Title":"大概位置", "Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。", "Level":1 } ]
开始采用open('filepath').readlines()的方法读取,这样读取的内容都存取到一个列表中,但是我要取每一个{}中的内容取不到,于是考虑用split(',')的方法分离开来,结果把每一个{}里面的内容也根据","分开了。后来请教了网友,说用json方式读取。于是采用以下方式:
#-*-encoding:utf--*- import json f = file(r'C:\Users\Tim\Desktop\test.json') jsonobj = json.load(f) #列表用序号来查询 print jsonobj[]['Memo'] f.close
运行之后报以下错误:
ValueError: No JSON object could be decoded
重新将json文件以UTF8无BOM方式保存了一下,运行成功了。
另外,对于读取json string可以用以下方式:
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["", ""]}}') print s print s.keys() print s["name"] print s["type"]["name"] print s["type"]["parameter"][]
以上内容给大家介绍了Python解析json文件相关知识,希望对大家有所帮助!
相关推荐
-
linux平台使用Python制作BT种子并获取BT种子信息的方法
本文实例讲述了linux平台使用Python制作BT种子并获取BT种子信息的方法.分享给大家供大家参考,具体如下: 最近研究了一下linux BT服务器环境的搭建,需要在linux下制作BT种子并获取BT种子信息,整理了一下这个过程: 制作BT种子软件本站下载地址. 安装: [root@localhost src]# tar zxf mktorrent-1.0.tar.gz [root@localhost src]# cd mktorrent-1.0 [root@localhost mktorr
-
Python解析nginx日志文件
项目的一个需求是解析nginx的日志文件. 简单的整理如下: 日志规则描述 首先要明确自己的Nginx的日志格式,这里采用默认Nginx日志格式: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_f
-
Python实现解析Bit Torrent种子文件内容的方法
本文实例讲述了Python实现解析BitTorrent种子文件内容的方法.分享给大家供大家参考,具体如下: 有很多种子文件,有时候记不清里面都是什么东西,又不想一个一个的拖放到迅雷或BT软件里头看, 上网查了一下Python的脚本,自己也稍微修改了一下,代码如下,粘贴到文本编辑器中: 保存成py后缀的,直接运行 import re def tokenize(text, match=re.compile("([idel])|(/d+):|(-?/d+)").match): i = 0 w
-
Python 解析XML文件
Python文件: 复制代码 代码如下: #parsexml.py #本例子参考自python联机文档,做了适当改动和添加 import xml.parsers.expat #控制打印缩进 level = 0 #获取某节点名称及属性值集合 def start_element(name, attrs): global level print ' '*level, 'Start element:', name, attrs level = level + 1 #获取某节点结束名称 def end_e
-
Python配置文件解析模块ConfigParser使用实例
一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号"[ ]"内包含的为section.section 下面为类似于key-value 的配置内容. 复制代码 代码如下: [db] db_host = 127.0.0.1 db_port = 22 db_user = root db_pass = rootroot [concurrent] thread = 10 processor = 20 中括号"
-
使用Python实现BT种子和磁力链接的相互转换
bt种子文件转换为磁力链接 BT种子文件相对磁力链来说存储不方便,而且在网站上存放BT文件容易引起版权纠纷,而磁力链相对来说则风险小一些.而且很多论坛或者网站限制了文件上传的类型,分享一个BT种子还需要改文件后缀或者压缩一次,其他人需要下载时候还要额外多一步下载种子的操作. 所以将BT种子转换为占用空间更小,分享更方便的磁力链还是有挺大好处的. 首先一个方案是使用bencode这个插件,通过pip方式安装或者自行下载源文件https://pypi.python.org/pypi/bencode/
-
python通过urllib2爬网页上种子下载示例
通过urllib2.re模块抓种子 思路 1.用程序登录论坛(如果需要登录才能访问的版块) 2.访问指定版块 3.遍历帖子(先取指定页,再遍历页面所有帖子的url) 4.循环访问所有帖子url,从帖子页面代码中取种子下载地址(通过正则表达式或第三方页面解析库) 5.访问种子页面下载种子 复制代码 代码如下: import urllibimport urllib2import cookielibimport reimport sysimport os # site is website addre
-
Python解析excel文件存入sqlite数据库的方法
一.建立数据库 根据需求建立数据库,建立了两个表,并保证了可以将数据存储到已有的数据库中,代码如下: import sqlite3 def createDataBase(): cn = sqlite3.connect('check.db') cn.execute('''CREATE TABLE IF NOT EXISTS TB_CHECK (ID integer PRIMARY KEY AUTOINCREMENT, NUMBER INTEGER, ITEM TEXT, REFERENCE TEX
-
Python开发实例分享bt种子爬虫程序和种子解析
看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码: 复制代码 代码如下: #encoding: utf-8 import socket from hashlib import sha1 from random import randint from struct import unpack, pack from socket import inet_aton, inet_ntoa from bisect import b
-
Python解析json文件相关知识学习
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 今天用pytho
-
python对json的相关操作实例详解
本文实例分析了python对json的相关操作.分享给大家供大家参考,具体如下: 什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+
-
Python解析json时提示“string indices must be integers”问题解决方法
本文实例讲述了Python解析json时提示"string indices must be integers"问题解决方法.分享给大家供大家参考,具体如下: import json,但是出现了一个奇怪的问题: string indices must be integers 这个错误告诉我,[ ]里面应该是数字而不是字符串,但是dict使用key访问也可以,这种错误感觉解析出来的结果像是一个list. 所以考虑是字符串解析的问题.打印解析的结果,是一长串的字符串,一堆的key挤在一起,v
-
图解python全局变量与局部变量相关知识
这篇文章主要介绍了图解python全局变量与局部变量相关知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 了解全局变量和局部变量之前,我们先来了解一下作用域 a = 10 def func(): b = 20 def inner(): c = 30 以上面这个程序为例:打印a,b,c 可以看到只有a打印 10 ,b和c都报错,这就是作用域的问题. 我们把新创建的一个.py文件看做事一个模块,在模块内定义的变量,如a,就是这个模块的全局变量,作
-
Python解析json代码实例解析
这篇文章主要介绍了Python解析json代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是json格式: JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. import json data = { "statusCode": 200, "data":
-
Python解析JSON对象的全过程记录
前言 本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象. json处理模块的主要任务,是将一个JSON对象,转换成Python数据类型数据进行处理,或者反之,将Python数据类型数据,转换成JSON对象(字符串流),在不同的模块或者系统间传输. 1. JSON数据格式特点 对象表示为键值对 数据由逗号分隔 花括号保存对象 方括号保存数组 { "students": [ { "name":"北山啦" , "
-
Python序列化与反序列化相关知识总结
Python序列化与反序列 在程序运行的过程中,所有的变量都是在内存中,比如,定义一个 dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把 name 改成 'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收.如果没有把修改后的 'Bill' 存储到磁盘上,下次重新运行程序,变量又被初始化为 'Bob'. 我们把变量从内存中变成可存储或传输的过程称之为序列化,在 Python 中叫 pickling,在其他语言中也被
-
使用Python解析JSON的实现示例
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.Python3 中可以使用 json 模块来对 JSON 数据进行编解码,主要包含了下面4个操作函数: 提示:所谓类文件对象指那些具有read()或者 write()方法的对象,例如,f = open('a.txt','r'),其中的f有read()方法,所以f就是类文件对象. 在json的编解码过程中,python 的原始类型与JSON类型会相互转换,具体的转化对照如下: Python 编码为 J
-
Python读写JSON文件的操作详解
目录 JSON JSON 起源 JSON 样例 Python 原生支持 JSON 序列化 JSON 简单的序列化示例 JSON 反序列化 简单的反序列化示例 应用案例 编码和解码 JSON JSON 起源 JSON 全称 JavaScript Object Notation .是处理对象文字语法的 JavaScript 编程语言的一个子集.JSON 早已成为与语言无关的语言,并作为自己的标准存在. JSON 样例 { "data":[ { "id": "1
-
JSON文件及Python对JSON文件的读写操作
一,什么是JSON文件 JSON和XML都是互联网上数据交换的主要载体. 在JSON出现之前,大家一直用XML来传递数据.因为XML是一种纯文本格式,所以它适合在网络上交换数据.XML本身不算复杂,但是,加上DTD.XSD.XPath.XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范.于是,道格拉斯·克罗克福特(Douglas Crockford)发明了JSON这种超轻量级的数据交换语言,由于JSON非
随机推荐
- Ruby的运算符和语句优先级介绍
- Excel导入Sqlserver数据库脚本
- angularJS+requireJS实现controller及directive的按需加载示例
- Thinkphp中的volist标签用法简介
- Python操作MySQL简单实现方法
- asp下对POST提交数据限制的解决方法
- mysql query browser中文乱码的解决方法
- php中eval函数的危害与正确禁用方法
- vue.js实例todoList项目
- PHP实现微信发红包程序
- ASP.NET 返回随机数实现代码
- 详解Linux查看程序端口占用情况
- 简单介绍MySQL中的事务机制
- EasyUI创建对话框的两种方式
- Android中AlertDialog 点击按钮后不关闭对话框的功能
- 深入解析PHP内存管理之谁动了我的内存
- Vue.js实现分页查询功能
- angular项目中bootstrap-datetimepicker时间插件的使用示例
- 详解SpringBoot应用服务启动与安全终止
- MySQL8新特性:降序索引详解