json 和多维数组

2024-02-01

我有一个像这样的多维数组

Array
(
    [1] => Array
        (
            [product_id] => 1
            [product_model] => HFJ5G1.5
            [product_type] => plat
            [product_return] => graviteits

        )

    [2] => Array
        (
            [product_id] => 2
            [product_model] => HHJ5S2.5
            [product_type] => holle plunjer
            [product_return] => veer       

        )
    );  //Only 2 are shown here i have around 110 values

我将其编码为 json

json_encode($array);

结果 jsonString 是这样的

{"1":{"product_id":"1","product_model":"HFJ5G1.5","product_type":"plat","product_return":"graviteits"},"2":{"product_id":"2","product_model":"HHJ5S2.5","product_type":"holle plunjer","product_return":"veer"}}

当我执行警报时(jsonString.length);结果是 4 但我希望结果是 2 我做错了什么吗?


对象字面量没有.length

您可以使用以下方式计算属性这个方法 http://jsfiddle.net/cVs5B/:

var count = 0;

for (i in jsonString) {
    if (jsonString.hasOwnProperty(i)) {
        count++;
    }
}

alert(count); //count shall have length for you

OR

由于您的数组没有数字索引(从 0 开始),因此假设您使用了关联数组,因此他们抛弃了物品的对象而不是一个项目数组.

要将它们转换为数字索引,您所要做的就是使用数组值 http://php.net/manual/en/function.array-values.php在将它们编码为 json 之前:

json_encode(array_values($array));

那么 json 将是一个数组..那么你可以使用长度 http://jsfiddle.net/bAn9J/

由此:

Array(
[1] => Array(
        [product_id] => 1
        [product_model] => HFJ5G1.5
        [product_type] => plat
        [product_return] => graviteits
    )
[2] => Array(
        [product_id] => 2
        [product_model] => HHJ5S2.5
        [product_type] => holle plunjer
        [product_return] => veer       
    )
);

使用 array_values() 就变成这样,注意每个项目的索引:

Array(
[0] => Array(
        [product_id] => 1
        [product_model] => HFJ5G1.5
        [product_type] => plat
        [product_return] => graviteits
    )
[1] => Array(
        [product_id] => 2
        [product_model] => HHJ5S2.5
        [product_type] => holle plunjer
        [product_return] => veer       
    )
);

然后编码为json并存储到jsonString:

jsonString = [
    {
        "product_id": "1",
        "product_model": "HFJ5G1.5",
        "product_type": "plat",
        "product_return": "graviteits"
    },
    {
        "product_id": "2",
        "product_model": "HHJ5S2.5",
        "product_type": "holle plunjer",
        "product_return": "veer"
    }
];

alert(jsonString.length);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

json 和多维数组 的相关文章

  • html 表格单元格的条件格式

    是否有现成的解决方案可以对 HTML 表格进行条件格式设置 通过条件格式 我更感兴趣的是根据该列或其他列 在同一个表中 的值 数字 将不同的颜色作为单元格背景 类似于我们在 Excel 条件格式 gt 色阶 gt 红黄绿中的内容 我想在通过
  • 在 swift 中将简单字符串转换为 JSON 字符串

    我知道有一个同标题的问题here https stackoverflow com questions 30825755 convert string to json string in swift 但在那个问题中 他试图将字典转换为 JSO
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 将 JSON 反序列化为表

    我需要根据通过 API 接收的数据填充 ABAP 中的表 我正在使用以下 ABAP 函数从 json 填充现有的 ABAP 表 JSON 是正确的 表中包含相应的表 ui2 cl json gt deserialize EXPORTING
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • console.log() 显示同一对象属性的矛盾值

    我想我可能要疯了 我使用 console log 来查看对象的状态 然后在下一行对同一对象的特定属性执行 console log 并为每个属性获取不同的值 我正在使用的代码是 console log this pictures Items
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • IE 中的每个 JavaScript 支持?

    我有这个代码
  • JavaScript:测试与执行

    我想知道检查字符串 例如邮件 密码等 的最佳方法是什么 i exec a vs i test a exec返回值 test true test 1 way var mail req body mail if check mail exec
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i

随机推荐

  • Glassfish - java.lang.NoClassDefFoundError

    我正在关注这个blog https blogs oracle com arungupta entry websockets and java ee 7在 glasshfish 中运行示例 Websocket 应用程序 部署失败并出现以下错误
  • 通过 Docker 连接到本地主机上的 MySQL 服务器

    因此 我通常可以通过 Docker 运行一个容器来联系我的本地主机 add host localbox 192 168 59 3 ping localbox工作得很好 问题是 我似乎无法从 MySQL 服务器获得响应 mysql h loc
  • 如何使用相对于高度的宽度?

    我需要制作 3 4 的窗口 其中 3 是屏幕的 75 我如何设置宽度 就像如果我有 100 像素高度和 10000000000000 像素宽度的显示器 那么我应该有 75 100 像素的窗口 我听说可以借助 Javascript 来完成 7
  • 单击按钮从 Lotus Notes 调用 Javascript

    我正在为之前在 vb6 中构建的组件构建概念验证 由于该组件具有复杂的 UI 元素 因此我不太确定使用 Lotus Notes UI 元素可以在多大程度上重现相同的内容 我现在想做的事情如下 在现有 LN 表单中创建按钮 单击该按钮时 它会
  • 使用 foreach 循环在 powershell 中批量重命名文件

    folderpath E BOOKS Python python python items Get ChildItem Recurse folderpathc pdf foreach i in items Rename Item E BOO
  • mypy 在评估算术计算类型时不考虑之前执行的类型检查

    我有一个 python 类 如下所示 from typing import Optional Union Dict import numpy as np class TestClass def init self a Optional fl
  • 正则表达式匹配除此正则表达式之外的所有内容

    我认为这对很多人来说都是一件简单的事情 但目前我对正则表达式的了解非常有限 我想匹配字符串中除两位数之外的所有内容 例如 TEST22KLO4567 QE45C2C LOP10G7G400 现在我找到了匹配两位数的正则表达式 d 2 与以下
  • 密码“aes256-cbc”是必需的,但它不可用

    我正在尝试使用 JSch 进行 SFTP 但遇到了一些错误 com jcraft jsch JSchException 需要密码 aes256 cbc 但它不可用 下面是我使用的代码 有什么我错过的吗 JSch jsch new JSch
  • LaTeX 中的 for 循环和表格

    这是我的表的 LaTeX 代码 begin table c c c c c c c caption Examples of the concepts label tab conceptsimgs hline backslashbox Con
  • Safari 7 中忽略的断点

    我在 Safari 7 中调试 JavaScript 时遇到问题 我设置的断点被忽略了 我知道您启用 禁用所有断点 并且它们肯定已启用 它只是根本不停止代码执行 还有其他人经历过这个吗 有什么想法吗 也许您禁用断点 https develo
  • 从 DataGridView 中获取选定的行

    每当用户单击 添加到购物车 按钮时 我都会将用户在 找到的项目 网格 屏幕截图的左侧 中选择的那些行添加到 选择的项目 网格 屏幕截图的右侧 中 屏幕截图 链接http img856 imageshack us img856 3015 da
  • android - 将 dp 转换为 float

    我的字体大小是12dp 我正在使用设置字体TextPaint 因为我使用的是跨度 问题是参数TextPaint接受是浮动的 我想知道如何将 12 dp 转换为浮点数 From android content res Resources ge
  • 系统调用位于 glibc 源代码中的哪里

    所以我正在查看 linux glibc 源代码 但我没有看到它实际上在哪里做了任何事情 以下内容来自io chdir c但它表明了许多源文件 这里发生了什么 显然我错过了一些东西 秘密是什么 它在哪里进行系统调用或实际执行某些操作 stub
  • 创建有角度的彩色横幅

    您好 我正在尝试在 HTML 和 CSS 中创建以下斜条外观 只是蓝色和紫色区域 后面是白色 我显然可以看到如何使用图像来做到这一点 但是仅 HTML CSS 又如何呢 这可能吗 它在网站上使用 www africa dating 我知道我
  • 如果“git push heroku master”失败怎么办?

    我的本地 Windows XP 计算机上有一个可以运行的 Rails 应用程序 我想将其上传到 Heroku 上 我按照这个教程https devcenter heroku com articles rails3 https devcent
  • Bootstrap 响应式网格布局(3 列),每个网格元素下方具有折叠/隐藏的 col-12

    我试图使 100 列出现在引导网格列内的元素下方 因为用图片更容易理解 所以我想要实现的目标是 选择其中一张图像 1 到 x 时 隐藏的 div 具有不同的内容 应以完整的 12 列大小显示在图像下方 我设法做到了这一点 但是 当使用较小的
  • Rpm 构建限制

    我是 rpm 打包的初学者 据我了解 由于 cpio 限制 rpm build 在文件大小 gt 4GB 时存在问题 因此 我使用 gnu split 将包中的大文件拆分为 512MB 的文件 这是作为 rpmbuild 的一部分完成的 因
  • 我应该在本地存储 Google Web Fonts API 生成的 CSS 吗?

    我正在使用一些谷歌网络字体 我听说 Google 处理不同浏览器之间的所有问题 并根据请求标头中的浏览器提供不同的媒体 我的问题是 它在什么时候执行此操作 原因是对于 API 您可以简单地包含一个 CSS 文件 其中包含 font face
  • 在 Mac 中启动并运行 appium [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚安装了 Java 和 appium 如下面的链接所述 在 macOS sierra 10 12 3 上安装 appium https
  • json 和多维数组

    我有一个像这样的多维数组 Array 1 gt Array product id gt 1 product model gt HFJ5G1 5 product type gt plat product return gt graviteit