>>> import json
>>> a= '{name:"dd",age:"16"}'
>>> json.loads(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
>>> a= '{"name":"dd","age":"16"}'
>>> json.loads(a)
{u'age': u'16', u'name': u'dd'}
因为json作为一种使用广泛的数据交换格式,既然是交换必然是多种语言之间,所以必须要加入。
关于规范
json规范关于pair的描述
pair
string : value
json中对于string的描述
A string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.
前者是Javascript的对象字面量语法,后者是JSON,后者是前者的一个子集
如果就是写JS代码,那么只要风格统一,加不加都OK。我个人是倾向于不加的,因为表达数据的场景比较少,构建对象,声明方法的场景比较多,作为方法名来说不加引号比较有sense
json不是最好加不加,而是必须加,而且加的是双引号。
题主可以参考下面这个网站:http://www.bejson.com/
需要加,
不清楚js是否可以,在Python下是必须加的,否则报错
因为json作为一种使用广泛的数据交换格式,既然是交换必然是多种语言之间,所以必须要加入。
关于规范
json规范关于pair的描述
json中对于string的描述
字符串就是多个Unicode字符,使用双引号包裹。
规范来源http://json.org/
@mcfog 的说法是正确的,JSON是一种数据格式,实际上在JS中也是加上的,只是你容易和Object混淆而已。
写成B最好, 通用,
加上去准没错!
json中的key 必须是用双引号包围的,并且要搞清楚JSON是字符串
我的理解是json必须加,
因为那意味着字符串对其他的映射。。
js的话是一个类的成员变量。。(雾)
JSON规范规定是必须要加上双引号的,而且作为不同系统之间的数据交换,大家最好都遵循标准,否则可能会出问题。