为什么在尝试使用Stringify将数组转换为JSON字符串时出现方括号

天线

当我尝试使用JSON.stringify将下面的数组转换为字符串时,我只会看到空的方括号。我尝试用console.log进行调试,但确实看到要转换为字符串的数据,所以我在这里做错了什么?任何帮助都感激不尽!

function jsonSuccess( data ){

        var jsonArr = new Array();

        for( var i = 0; i < data.length; i++ ){
            var shipInfo = new Array();
            var shipRows = new Array();

            $.each( data[i], function( key, value ){


                if ( key == "EniNumber" ) {
                    shipInfo['E'] = value;
                    //console.log( shipInfo.E );
                }

                if ( key == "Name" ) {
                    shipInfo['N'] = value;
                }

                if ( key == "StartDate" ) {
                    shipInfo['S'] = value;
                }

                if ( key == "Rows" ) {

                    $.each( value, function( subKey, subValue ){

                        var rowContent = {
                            "T": subValue.T,
                            "X": subValue.X,
                            "Y": subValue.Y,
                            "D": subValue.D
                        }

                        shipRows.push( rowContent );

                    });

                    shipInfo['R'] = shipRows;
                }

            });


            jsonArr[i] = shipInfo;

            var myJsonString = JSON.stringify(jsonArr);
            console.log(myJsonString);
        }

    }
太平

您正在使用数组作为对象。

在Javascript中,您具有数组和对象。但是,您可能知道数组也是对象,这有一些奇怪的含义。

var arr = [];
arr[0] = "foo"; // this is fine
console.log(JSON.stringify(arr)); // [ "foo" ]
arr.length; // 1 ok

但是由于Array是对象,所以我们还可以分配属性:

arr.foo = "bar";
console.log(arr); // [ 0: "foo", foo: "bar" ]
console.log(JSON.stringify(arr)); // [ "foo" ] .. where did bar go?
arr.length; // 1 huh?

我们正在混合数组值和对象属性。

JSON编码器查看该对象,并发现它是(instanceof)Array并将其序列化。它看起来arr.length(在示例中为1),所以您得到just [ "foo" ]数组上的属性将被忽略。


重要的是要认识到数组值和对象属性之间的区别。JavaScript中的数组从不关联如果在数组上设置属性,则不会增加长度,如果在for循环中对其进行循环,则不会显示该属性。


改变:

var shipInfo = new Array();

到:

var shipInfo = {};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过包含方括号和双qoutes将普通字符串转换为json数组

来自分类Dev

通过包含方括号和双qoutes将普通字符串转换为json数组

来自分类Dev

Java中缺少方括号时将json字符串转换为对象

来自分类Dev

javascript-在保留方括号的同时将数组转换为字符串

来自分类Dev

PHP将用方括号将逗号分隔的字符串转换为数组

来自分类Dev

在Swift中,为什么尝试从字符串转换为日期时出现错误?

来自分类Dev

尝试解析JSON数据时“没有将数组隐式转换为字符串”

来自分类Dev

尝试通过JSON.stringify将数据从Domino Access Service转换为JSON字符串

来自分类Dev

尝试通过JSON.stringify将数据从Domino Access Service转换为JSON字符串

来自分类Dev

为什么json_decode($ data,TRUE)将数组转换为字符串?

来自分类Dev

JSON.stringify将值数组转换为字符串

来自分类Dev

将带有方括号的字符串转换为PHP数组

来自分类Dev

使用JSON.stringify将JS对象转换为json字符串

来自分类Dev

使用JSON.stringify将JS对象转换为json字符串

来自分类Dev

在对字符串进行操作时,为什么将字符串转换为charArray?

来自分类Dev

将小数部分转换为字符串,并在方括号中重复小数位

来自分类Dev

如何将方括号中嵌入的字母字符串转换为嵌入列表

来自分类Dev

将括号中带有索引的字符串转换为JSON数组

来自分类Dev

尝试将字符串转换为类别时出现关键错误

来自分类Dev

使用 Python 将 XML 字符串转换为 JSON 时,如何防止将同名 XML 标签转换为数组?

来自分类Dev

尝试将字符串数组转换为日期

来自分类Dev

尝试使用 .substr 将字符串转换为字符

来自分类Dev

尝试将列表连接到字符串时为什么会出现类型错误?

来自分类Dev

将字符串转换为DateTime时出现错误

来自分类Dev

为什么将此字符串值转换为数组?

来自分类Dev

将JSON数组转换为bash字符串数组

来自分类Dev

Javascript 将 JSON 字符串转换为数组数组

来自分类Dev

当某些项目包含空格时,为什么不能将字符串变量转换为数组?

来自分类Dev

为什么在尝试使用sed命令删除字符串时出现此错误?

Related 相关文章

  1. 1

    通过包含方括号和双qoutes将普通字符串转换为json数组

  2. 2

    通过包含方括号和双qoutes将普通字符串转换为json数组

  3. 3

    Java中缺少方括号时将json字符串转换为对象

  4. 4

    javascript-在保留方括号的同时将数组转换为字符串

  5. 5

    PHP将用方括号将逗号分隔的字符串转换为数组

  6. 6

    在Swift中,为什么尝试从字符串转换为日期时出现错误?

  7. 7

    尝试解析JSON数据时“没有将数组隐式转换为字符串”

  8. 8

    尝试通过JSON.stringify将数据从Domino Access Service转换为JSON字符串

  9. 9

    尝试通过JSON.stringify将数据从Domino Access Service转换为JSON字符串

  10. 10

    为什么json_decode($ data,TRUE)将数组转换为字符串?

  11. 11

    JSON.stringify将值数组转换为字符串

  12. 12

    将带有方括号的字符串转换为PHP数组

  13. 13

    使用JSON.stringify将JS对象转换为json字符串

  14. 14

    使用JSON.stringify将JS对象转换为json字符串

  15. 15

    在对字符串进行操作时,为什么将字符串转换为charArray?

  16. 16

    将小数部分转换为字符串,并在方括号中重复小数位

  17. 17

    如何将方括号中嵌入的字母字符串转换为嵌入列表

  18. 18

    将括号中带有索引的字符串转换为JSON数组

  19. 19

    尝试将字符串转换为类别时出现关键错误

  20. 20

    使用 Python 将 XML 字符串转换为 JSON 时,如何防止将同名 XML 标签转换为数组?

  21. 21

    尝试将字符串数组转换为日期

  22. 22

    尝试使用 .substr 将字符串转换为字符

  23. 23

    尝试将列表连接到字符串时为什么会出现类型错误?

  24. 24

    将字符串转换为DateTime时出现错误

  25. 25

    为什么将此字符串值转换为数组?

  26. 26

    将JSON数组转换为bash字符串数组

  27. 27

    Javascript 将 JSON 字符串转换为数组数组

  28. 28

    当某些项目包含空格时,为什么不能将字符串变量转换为数组?

  29. 29

    为什么在尝试使用sed命令删除字符串时出现此错误?

热门标签

归档