`
ioryioryzhan
  • 浏览: 154612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSON.decode() Unexpected ' encountered JSONTokenizer/parseError()错误分析

阅读更多

啥也不说了,再次说明用别人的东西一定要小心,as3corelib,用也要小心

使用环境:flash cs3

程序说话:

var str : String = "{a:'0',b:'0',c:''}";
var obj : Object = JSON.decode(str);

 出错,

Error: Unexpected a encountered
	at XX.serialization::JSONTokenizer/parseError()
	at XX.serialization::JSONTokenizer/getNextToken()
	at XX.serialization::JSONDecoder/::nextToken()
	at XX..serialization::JSONDecoder/::parseObject()
	at XX.serialization::JSONDecoder/::parseValue()
	at XX..serialization::JSONDecoder$iinit()
	at XX..serialization::JSON$/decode()
 

改一下:

var str : String = '{a:"0",b:"0",c:""}';
var obj : Object = JSON.decode(str);

 出错

Error: Unexpected a encountered
	at XX.serialization::JSONTokenizer/parseError()
	at XX.serialization::JSONTokenizer/getNextToken()
	at XX.serialization::JSONDecoder/::nextToken()
	at XX..serialization::JSONDecoder/::parseObject()
	at XX.serialization::JSONDecoder/::parseValue()
	at XX..serialization::JSONDecoder$iinit()
	at XX..serialization::JSON$/decode()

 

再改一下:

var str : String = '{"a":"0","b":"0","c":""}';
var obj : Object = JSON.decode(str);

 好了,

 

再改一下:

var str : String = '{"a":0,"b":2,"c":3}';
var obj : Object = JSON.decode(str);

 也没报错

 

唉,看到了吧,对象属性名一定要是大引号,不然,嘿嘿,

字符串也要小引号包含大引号的形式,不然就会报错。

要找原因,可参见源代码,我是没时间看它了。

 

0
0
分享到:
评论
1 楼 huangxin5257 2010-02-09  
我也遇到过同样的问题。不过没办法,用人家的东西就这样,得遵循别人的规则。

但在decode的时候,必须要try catch。

相关推荐

    as3corelib.swc及解析json的例子

    在这个例子中,`parseJSON()`函数展示了如何使用`JSON.decode()`方法将JSON字符串转换为ActionScript对象。一旦解析完成,你可以像操作普通AS3对象一样访问JSON数据的属性。 除了基本的解析,as3corelib还提供了...

    C# JSON 编码解码

    //Program.cs 里是一些比较极端的测试,实际使用时只需复制 JSON.cs 到项目里。 //比如类Vec2: public class Vec2 ...Vec2 v2 = JSON.Decode(jsonCode); Console.WriteLine("v2.x=" + v2.x + ",v2.y=" + v2.y);

    json_decode 索引为数字时自动排序问题解决方法.docx

    ### JSON Decode 索引为数字时自动排序问题解析及解决方案 #### 一、问题背景与现象 在处理Web开发中的前后端数据交互时,JSON(JavaScript Object Notation)格式因其简洁、易读且易于解析的特点被广泛采用。但在...

    python使用response.read()接收json数据的实例

    如下所示: import json result = response.read() ... 您可能感兴趣的文章:Python简单读取json文件功能示例Python使用内置json模块解析json格式数据的方法使用Python解析JSON数据的基本方法Python操作json数据的一个

    PHP 获取JSON json_decode返回NULL解决办法

    PHP 获取JSON json_decode返回NULL解决办法,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,这样处理才能正确解析json数据

    crypto-js base64

    var key = CryptoJS.enc.Utf8.parse("1234567890000000"); //16位 var iv = CryptoJS.enc.Utf8.parse("1234567890000000"); var encrypted = ''; if (typeof(word) == 'string') { var srcs = CryptoJS.enc.Utf...

    JS的encodeURI和java的URLDecoder.decode使用介绍

    如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...

    Json.rar_LUA JSON_json lua

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...同时,通过分析源码,也可以了解Lua语言如何实现高级功能,如字符串处理、数据类型转换和错误处理,这对于提升编程技能非常有帮助。

    elm-xml-decode:Elm XML解码器共享Json.Decode的精神

    4. **子元素解码器**: 可以通过解码器链式操作来处理XML元素的子元素,类似于`Json.Decode.object`和`Json.Decode.array`。 5. **条件解码器**: 当需要根据元素的条件来选择不同的解码路径时,可以使用`oneOf`或`...

    lua-json:Lua的JSON编码解码模块

    用于Lua的JSON编码/解码模块 ...json.decode(data,[pos],[handler]) 返回编码在data中的值以及第一个未读字节的索引。 可选的pos标记,从何处开始读取data (默认为1)。 为每个新表(根表或嵌套表

    一步步写嵌入式操作系统.zip

    编译错误2: gcc -g -O2 -o skyeye skyeye.o ./utils/libutils.a ./arch/arm/libarm.a ./device/libdev.a ./arch/mips/libmips.a ./arch/ppc/libppc.a ./arch/bfin/libbfin.a ./arch/mips/libmips.a ./arch/coldfire...

    PHP json_encode() 和 json_decode()

    你可以通过 `json_last_error()` 函数检查最后一次json操作的错误,如`JSON_ERROR_NONE`表示没有错误,其他值则表示存在特定错误。 在给定的“demo”文件中,可能包含一些示例代码或者示例数据,这些可以帮助你更好...

    jQuery JSON with PHP json_encode and json_decode

    "jQuery JSON with PHP json_encode and json_decode"这个主题涉及到如何利用JSON(JavaScript Object Notation)这一轻量级的数据交换格式,结合PHP的`json_encode`和`json_decode`函数,实现前后端之间的数据通信...

    Json_decode 解析json字符串为NULL的解决方法(必看)

    但是有时候我们会发现,即使是看似完整的JSON字符串,在使用`json_decode()`函数解析后返回的却是NULL,这会让人困惑。这篇文章将会详细探讨在使用PHP的`json_decode()`函数解析JSON字符串遇到NULL返回值时的解决...

    Vbs序列化/反序列化Json基类

    Set o = json.Decode(str) WScript.Echo o("Image")("Width") WScript.Echo o("Image")("Height") WScript.Echo o("Image")("Title") WScript.Echo o("Image")("Thumbnail")("Url") For Each i In o("Image")("IDs")...

    解决Python下json.loads()中文字符出错的问题

    本文将详细介绍如何解决Python 2.7环境下使用`json.loads()`解析中文字符时遇到的错误。 #### 问题背景 在Python 2.7版本中,开发者使用`json.loads()`方法解析从网络请求中获取到的JSON格式数据时,可能会发现...

    hw_decode_linuxffmpeg_hw_decode_linuxffmpegmp4_vaapi硬件解码_源码

    编译hw_decode.c #gcc -o hw_decode hw_decode.c -I/.../include -L/.../lib -lavformat -lavfilter -lavcodec -lswscale -lavutil -lswresample -lpthread -lm -lz -lX11 -lva -lvdpau -lva-drm -lva-x114....

    网址编码解码,jQuery版Url.encode,Url.decode,Url.parse.rar

    网址编码解码,jQuery版Url.encode,Url.decode,Url.parse,一个来自jQuery的URL Decoder解码、编码插件,为你的URL安全定义一道安全防线,示例文件本身就是一个值得学习的实例,自带的示例将告诉你如何使用这款URL...

    as3 json 包(com/adobe/json)

    2. **JSONError**:这个类代表了在处理JSON过程中可能出现的错误,它继承自`Error`类。当JSON解析或编码出现问题时,可以通过捕获此类异常来处理错误。 除了这两个核心类,`com.adobe.serialization.json`包可能还...

Global site tag (gtag.js) - Google Analytics