Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中快速解析此类对象?_Javascript_Android_Json_String_Parsing - Fatal编程技术网

如何在Javascript中快速解析此类对象?

如何在Javascript中快速解析此类对象?,javascript,android,json,string,parsing,Javascript,Android,Json,String,Parsing,我正在从事一个为Android开发的项目,使用Tianium Studio 3.2.0和Tianium SDK 3.2.0.GA 我正在使用Appcelerator城市飞艇模块,我可以毫无问题地连接,主要问题是我从城市飞艇接收的有效载荷如下所示: {prop1={"key1":"val1","key2":"val2","key3":"val3"}} curl -X POST -u "appkey:secret" \ -H "Content-Type: application/json"

我正在从事一个为Android开发的项目,使用Tianium Studio 3.2.0和Tianium SDK 3.2.0.GA

我正在使用Appcelerator城市飞艇模块,我可以毫无问题地连接,主要问题是我从城市飞艇接收的有效载荷如下所示:

{prop1={"key1":"val1","key2":"val2","key3":"val3"}}
curl -X POST -u "appkey:secret" \
   -H "Content-Type: application/json" \
   -H "Accept: application/vnd.urbanairship+json; version=3;" \
   --data '{"audience": {"alias": "foo"},"notification": {"alert":"hello","android": {"extra": {"prop1": "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\":\"val3\"}"}}},"device_types": ["android"]}' \
   https://go.urbanairship.com/api/push/
这是一个字符串,而不是像iOS中那样的对象

通过curl发送的额外数据如下所示:

{prop1={"key1":"val1","key2":"val2","key3":"val3"}}
curl -X POST -u "appkey:secret" \
   -H "Content-Type: application/json" \
   -H "Accept: application/vnd.urbanairship+json; version=3;" \
   --data '{"audience": {"alias": "foo"},"notification": {"alert":"hello","android": {"extra": {"prop1": "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\":\"val3\"}"}}},"device_types": ["android"]}' \
   https://go.urbanairship.com/api/push/
这是一个有效的JSON对象吗?我不能用JSON解析它。parse因为=符号,我可以替换它,但是如果我要发送一个包含多个对象的额外文件,我想知道是否有一种方法可以快速解析这种对象

我要说的是,这是我要传达的信息:

{“观众”:{“别名”:“foo”},“通知”:{“警报”:“你好”,“安卓”:{“额外”:{“prop1”:“{”key1\:“val1\”,“key2\”:“val2\”,“key3\”:“val3\”},“设备类型”:[“安卓”]

粗体是我通过城市飞艇发送的有效载荷。我在我的应用程序上收到的信息如下:

{prop1={“key1”:“val1”,“key2”:“val2”,“key3”:“val3”}

如果我发送类似以下内容的邮件:

“观众”们除了除了除了“观众”以外的其他人群之外,还有其他的“观众”除了除了除了除了除了“观众”以外的“观众”以外的“观众”除了除了除了除了除了除了除了除了“观众”以外的“观众”以外的其他观众。除了“别名”除了除了除了除了“别名”除了除了除了除了除了除了除了除了除了除了除了“别名”以外的以外,除了除了除了“别名”除了除了除了除了除了除了除了除了除了除了除了除了除了除了“观众们”以外的观众们以外,除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了“键1 1以外的以外的以外的以外的以外的其他几几几几几名以外以外,以外,除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了/strong>},“设备类型”:[“android”]}

我可能会收到一个类似以下内容的字符串:

{prop1={key1:“val1”,“key2:“val2”,“key3:“val3”},prop2={{key4:“val4”,“key5:“val5”,“key6:“val6”},…,propN={{keyX:“valX”,“keyY:“valY”,“keyZ:“valZ”}


我想知道是否有一种快速的方法可以将这样的字符串转换成JSON对象。我知道字符串不是有效的JSON对象,但是如果城市飞艇发送的是这样的东西,那么应该有一种方法来处理这样的对象。

这个谜团已经解开了


我们收到的数据并不像我们一开始想象的那么奇怪。这是Android中传递意图的额外数据的通常结构。由于Tianium没有提供解析此数据的方法,我们必须手动完成,替换麻烦的字符并将其构造为普通JSON对象。

您给出的第一个示例不是有效的JSON bec正如你所说的,是的,我也这么认为,但是城市飞艇正在给我发送这个有效载荷。正如我在我的问题中提到的,我想知道一种快速的方法来把这种对象变成JSON对象,如果我们考虑卷曲中额外发送的N个属性。我猜一个粗略的解决办法是引用“PROP1”文本并替换为=:(与冒号相等)但我不确定你是不是在问这个问题?我猜你使用的服务有一个错误,如果这应该是一个有效的json字符串,它会返回,对不起,我不知道城市飞艇具体的问题我的问题更多的是如何快速有效地将这个字符串转换成json对象。我只提到城市飞艇,如果有人想要的话ted想知道我是从哪里得到这个值的,但我想我应该把它从我的标签上删除,因为它给人的印象是错误的