首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JQuery序列化数组到jscript

JQuery序列化数组到jscript
EN

Stack Overflow用户
提问于 2015-08-12 03:17:03
回答 2查看 1K关注 0票数 0

我在网上找到了以下代码。我很乐意在我自己的项目中使用它。

http://dbushell.github.io/Nestable/

这个可拖放的jquery生成的树结构生成一个序列化数组。对于我来说,这是一个序列化的javascript数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[{"id":1,"children":[{"id":3}]},{"id":2,"children":[{"id":4},{"id":9,"children":[{"id":5,"children":[{"id":6},{"id":7},{"id":8}]}]}]},{"id":11},{"id":12,"children":[{"id":10}]}]

对于我所能找到的,我应该使用parse_str,这样就可以了。

但没有结果。生成的数组为空。

我尝试了以下测试代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   <?php

    $Str = '[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6},{"id":7},{"id":8}]},{"id":9},{"id":10}]},{"id":11},{"id":12}]';

    parse_str($Str, $values);

    print_r($values);

    ?>

我希望任何人都能看到我忽略的东西。

提前感谢!

回答! 我忽略了的是,这不是Javascript序列化数组,而是JSON编码的字符串。 如下所示,我应该使用JSON解码。 $Str =json_decode({“id”:1},{"id":2,“子代”:[{“id”:3},{"id":4},{"id":5,“子”:{“id”:6},{"id":7},{"id":8}},{"id":9},{“id”:10}},{"id":11},{“id”:12}]; 这将提供如下所示的结果。 如果我想将结果用作数组而不是提供什么,我应该使用以下函数将对象转换为有效的数组: 函数toArray ($obj ){ if (is_object( $obj )) $obj=(数组) $obj;if (is_array($obj)) { $new = array();foreach ($obj as $key => $val) { $new$key = toArray($val); (*这是我复制的:如何将对象转换为数组? *)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-12 03:18:51

不,你应该像这样使用解码器()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

    $Str = '[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6},{"id":7},{"id":8}]},{"id":9},{"id":10}]},{"id":11},{"id":12}]';

    $php_array = json_decode($Str);

    // and just in case there is an error while decoding
    if ( json_last_error() > 0 ) {
        echo json_last_error_msg();
    }

    print_r($php_array);

?>

它将生成输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [0] => stdClass Object
        (
            [id] => 1
        )

    [1] => stdClass Object
        (
            [id] => 2
            [children] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 3
                        )

                    [1] => stdClass Object
                        (
                            [id] => 4
                        )

                    [2] => stdClass Object
                        (
                            [id] => 5
                            [children] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [id] => 6
                                        )

                                    [1] => stdClass Object
                                        (
                                            [id] => 7
                                        )

                                    [2] => stdClass Object
                                        (
                                            [id] => 8
                                        )

                                )

                        )

                    [3] => stdClass Object
                        (
                            [id] => 9
                        )

                    [4] => stdClass Object
                        (
                            [id] => 10
                        )

                )

        )

    [2] => stdClass Object
        (
            [id] => 11
        )

    [3] => stdClass Object
        (
            [id] => 12
        )

)

或者,如果希望整个数据集作为数组返回,而不是原始数据中存在的对象,则可以将第二个参数添加到json_decode($Str, true)中,并且所有参数都在数组中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

    $Str = '[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6},{"id":7},{"id":8}]},{"id":9},{"id":10}]},{"id":11},{"id":12}]';

    $php_array = json_decode($Str, true);

    // and just in case there is an error while decoding
    if ( json_last_error() > 0 ) {
        echo json_last_error_msg();
    }

    print_r($php_array);

?>

给出这一结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [0] => Array
        (
            [id] => 1
        )

    [1] => Array
        (
            [id] => 2
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 3
                        )

                    [1] => Array
                        (
                            [id] => 4
                        )

                    [2] => Array
                        (
                            [id] => 5
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 6
                                        )

                                    [1] => Array
                                        (
                                            [id] => 7
                                        )

                                    [2] => Array
                                        (
                                            [id] => 8
                                        )

                                )

                        )

                    [3] => Array
                        (
                            [id] => 9
                        )

                    [4] => Array
                        (
                            [id] => 10
                        )

                )

        )

    [2] => Array
        (
            [id] => 11
        )

    [3] => Array
        (
            [id] => 12
        )

)
票数 1
EN

Stack Overflow用户

发布于 2015-08-12 03:19:50

只需使用json_decode

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print_r(json_decode($Str, true));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31963647

复制
相关文章
jquery param 数据 数组参数序列化
背景 java web项目中前端浏览器中需要向后台传入一个List对象(变长数组) 问题 如何通过浏览器向后台传入数组对象? 解决方案 解决方案(前台) 浏览器中输入url localhost:8
MickyInvQ
2020/09/27
6680
jQuery序列化元素
API中并没有提供直接序列化成json对象的方法,可以在现有方法的基础上,稍作修改即可:
河岸飞流
2019/08/09
7950
jQuery序列化表单为JSON对象
<form id="myform"> <table> <tr> <td>姓名:</td> <td> <input type="text" name="name" /> </td> </tr> <tr> <td>性别:</td> <td>
代码伴一生
2021/09/19
8710
jQuery数组反转「建议收藏」
代码很短,不过实现的时候需要原始数组的配合。并且,对数字索引数组支持还不错,索引不连续的一样支持(对于非连续索引,只取最大的索引加1作为数组的长度,不影响数组元素反转)。
全栈程序员站长
2022/08/28
8630
jQuery数组反转「建议收藏」
jQuery Ajax传递数组到asp.net web api参数为空
http://kwilson.me.uk/blog/post-an-array-of-objects-to-webapi-using-jquery/
guokun
2020/09/03
1.2K0
jscript调用bat注意事项
开发的游戏项目,需要一个工具,对指定的资源进行复制、加密,然后打包。之前打包时都手工操作,复制与加密这二步分别写了几个工具(lua加密与图片资源加密是分开的),后来感觉bat操作路径特别麻烦,所以我改用了hta写了一个界面,让使用者可以输入版本号,控制台上显示程序运行状态…
meteoric
2018/11/20
1K0
protobuf 序列化到文件及反序列化
游戏中,将对局的数据保留下来,用于对局回顾及debug等用途,由于协议采用PB,故以二进制的pb格式写入文件,在使用该对局内容的时候,按照格式反序列化出来用于播放对局、压测数据构造等。
changan
2020/11/04
1.9K0
JQuery从入门到实战
jQuery 本质上虽然也是 JS,但如果想使用 jQuery 的属性和方法那么必须保证对象是 jQuery 对象,而不是 JS 方式获得的 DOM 对象,二者的 API 方法不能混合使用,若想使用对方的 API,需要进行对象的转换。
楠羽
2022/11/18
15.3K0
JQuery从入门到实战
JS 对象转数组_jquery把对象转成数组
es6方法 Object.values返回一个对象的值的一个数组, Object.keys()返回对象的键数组
全栈程序员站长
2022/09/30
4.7K0
jquery和servlet如何传递JSON数组?
例 3.7(AjaxJsonArray.jsp) <html> <head> <script src="jquery.js"></script> <script type="text/javascript">     function getP(id) {         $.getJSON("jqueryservlet37", {             id : id         }, function(arr) {             for ( var i = 0; i < arr.length; i++) {                 var obj = arr[i];                 for ( var pro in obj) {                      document.getElementById(pro).innerHTML = obj[pro];                 }             }             /* document.getElementById(pro).innerHTML = obj[pro];和下一句一样。                        $("#"+pro).html(obj[pro]);              */         })     } </script> </head> <body>     <table width="340" border="1">         <tr>             <td id="1" οnclick="getP('1')">点这1</td>             <td id="2" οnclick="getP('2')">点这2</td>         </tr>     </table>
马克java社区
2021/02/09
1.5K0
jquery和servlet如何传递JSON数组?
[jQuery学习系列二 ]2-JQuery学习二-数组操作
前言 上一篇内容 已经对于Jquery 有了一些认识, 包括Jquery的选择器和DOM对象, 那么这一篇继续来看下Jquery中很实用的Jquery对于数组的操作. Jquery中对数组的操作大致有以下几种形式: each(迭代), map(转换), grep(筛选), 合并等. 1,迭代(each) jQuery.each( object, callback ) 返回值:Object 说明: 通用例遍方法,可用于例遍对象和数组。 注意: 传入的第一个参数可以是数组或者对象.如果数组,则遍历数组中的每一
一枝花算不算浪漫
2018/05/18
1.2K0
java jquery 文件下载_jquery下载教程_jquery下载文件到指定的目录
在使用jquery这种工具的时候,文档的说明是非常全面的,而且各种各样的应用也十分详细,同时其中还包含了很多比较成熟的插件,能够方便用户自由自在的选择。在应用这种模式编程的时候,能构造用户的html页面保持代码和内容分离的状态。
全栈程序员站长
2022/09/06
2.8K0
java jquery 文件下载_jquery下载教程_jquery下载文件到指定的目录
从小工到专家:从序列化到工厂模式
这就意味着数据是以字节流的形式传递给接收者的,没有固有的”报文”或”报文边界”的概念。
早起的鸟儿有虫吃
2021/03/04
5850
Thrift 对象序列化、反序列化-字节数组分析
本篇博客仅分析Thrift对象的序列化、反序列化的字节数组,以及Thrift对象的序列化、反序列化原理。其他源码分析会另开章节~
Yano_nankai
2018/12/19
3.3K0
jquery多组时间以对象数组形式保存
需求: 1:点击新增区域的按钮的时候,会新增一行输入框,可以选择输入数据,输入时间 2:输入完成之后,点击保存按钮,将输入的时间以对象数组的格式提交给后端 3:每一组时间是一个对象,每个对象包括开始时间和结束时间, 三组就是三个对象,存放在数组里面。 提交到后端的格式 {"criminalFences":[{"startTime":"09:00","stopTime":"17:00"},{"startTime":"09:00","stopTime":"17:00"},{"startTime":"09:00"
王小婷
2020/09/27
9580
jQuery将数组转化成对象
要求 将图一格式数据转化成图二格式数据 图一 图二 原始json数据 [{ "id": 15, "paramName": "distance", "paramValue": "1", "description": "定位前后位置在一定距离内不跳动 单位:米", "companyId": 1, "paramTypeId": 2 }, { "id": 110, "paramName": "floorNum", "paramVal
王小婷
2022/11/12
3.4K1
jQuery将数组转化成对象
Jquery 遍历数组之grep()方法介绍
grep()方法用于数组元素过滤筛选。 grep(array,callback,boolean);方法参数介绍。 array   ---待处理数组 callback  ---这个回调函数用来处理数组中的每个元素,并过滤元素,该函数包含两个参数,第一个参数是当前数组元素的值,第二个参数是当前数组元素的下标,返回值是一个布尔值。 下面是grep()方法的源代码: //grep函数,第三个参数表示是否根据fn的结果取反! grep: function( elems, callback, inv
郑小超.
2018/01/24
6710
Jquery遍历数组之$.inArray()方法介绍
$.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回-1; $.inArray(value,array)    --value是要查找的值,array是被查找的数组。 使用$.inArray()方法必须注意的点,否则会掉坑 (1)看如下代码: $(function () { var arr=[{"name":"张三"},{"name":"李四"},{"name":"王五"}]; alert($
郑小超.
2018/01/24
1.2K0
MessagePack Jackson 序列化和反序列化 POJO 为 MessagePack 的数组类型
在 msgpack-java 0.6 或者早期的版本中,POJO 在 MessagePack 中被序列化和反序列化为数组变量。
HoneyMoose
2019/08/10
1.1K0
js传递数组到后台
方法一:  1.使用JSON.stringify 将数组对象转化成json字符串;
超级小可爱
2023/02/20
3.9K0

相似问题

Jquery序列化到PHP数组

21

jquery和jscript

52

Jquery数组到序列化字符串

20

jquery / jscript未加载

30

JScript JSON数组访问

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文