使用此JSON响应获取错误

Cha*_*III 0 javascript json object-literal

我一直收到错误:Uncaught SyntaxError:Unexpected token'

这是完整的JSON响应:

'app': {type: 'app', desc: 'Application'}, 'iso': {type: 'iso', desc: 'ISO Disk Image'}, 'fla': {type: 'fla', desc: 'Adobe Flash Document'}, 'dll': {type: 'dll', desc: 'Dynamic Link Library'}
Run Code Online (Sandbox Code Playgroud)

我已经尝试在完整响应周围添加括号,但这并不能解决问题.我在做JSON错了吗?我试过删除括号,但后来抱怨字符.我正在尝试将此响应转换为JavaScript对象,但它只是不想这样做!

T.J*_*der 6

那里有几个问题:

  1. JSON中,键必须是引号(因此必须是字符串).单引号是不允许的,而且报价都是必需的.

  2. 在JSON中,顶级必须始终是对象或数组.您引用了一系列属性初始值设定项,它们必须位于对象内.

这是有效的版本:

{
  "app": {"type": "app", "desc": "Application"},
  "iso": {"type": "iso", "desc": "ISO Disk Image"},
  "fla": {"type": "fla", "desc": "Adobe Flash Document"},
  "dll": {"type": "dll", "desc": "Dynamic Link Library"}
}
Run Code Online (Sandbox Code Playgroud)

变化:

  • 将所有单引号更改为双引号.
  • 在没有它们的键(type,desc)周围加上双引号.
  • 把整个事情放在{}最顶层是一个对象.