keywords:
python
json
source:
http://txw1958.cnblogs.com/
先看下JSON的语法规则:
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"
这很容易理解,等价于这条 JavaScript 语句:
firstName = "John"
JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
现在有这样一个数据,如下所示:
url: 'http://txw1958.cnblogs.com',
uid: 100000
它的key不带引号,另外url的值
http://txw1958.cnblogs.com
是单引号,不是双引号
在网站
http://jsonlint.com/
使用
JSON验证器
验证一下,第一个错误就是url不是string类型,不认识你老人家
Results
Parse error on line 1:
{ url: 'http: //txw195
-----^
Expecting 'STRING', '}'
下面这条语句可以将这样的不规则json转换成规则的dict格式
eval(blog, type('Dummy', (dict,), dict(__getitem__=lambda s,n:n))())
U:\>python3
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> blog = '''
... {
... url: 'http://txw1958.cnblogs.com',
... uid: 100000
... }
... '''
>>> type(blog)
<class 'str'>
>>> agent = eval(blog, type('Dummy', (dict,), dict(__getitem__=lambda s,n:n))())
>>> type(agent)
<class 'dict'>
>>> agent
{'url': 'http://txw1958.cnblogs.com', 'uid': 100000}
eval(blog, type('Dummy', (dict,), dict(__getitem__=lambda s,n:n))())
待续......
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误
【Python】【MySQL】Python将JSON数据以文本形式存放到MySQL的Text类型字段中
【Python】【MySQL】Python将JSON数据以文本形式存放到MySQL的Text类型字段中
java202304java学习笔记第六十二天-ssm-页面跳转-回显数据json格式字符串
java202304java学习笔记第六十二天-ssm-页面跳转-回显数据json格式字符串