【问题标题】:Get an Array value from mysql result JSON on Node.js从 Node.js 上的 mysql 结果 JSON 获取数组值
【发布时间】:2016-08-05 00:06:14
【问题描述】:

我有一个 mysql 列,其中包含数组。并且在打印包含console.log(collection[0]) 中的列的这一行时,结果是:

    RowDataPacket {
  id: 6,
  title: 'fsd',
  createddate: '2016-04-14 00:16:29',
  tag: 'fsdsd',
  img1: '[\'12071331_184535658548108_1612982316_n.jpg\', \'12071715_826061364175214_103377995_n.jpg\', \'12076929_10207206326744146_1386812779_n.jpg\']',
  img1big: '[\'small_12071331_184535658548108_1612982316_n.jpg\', \'small_12071715_826061364175214_103377995_n.jpg\', \'small_12076929_10207206326744146_1386812779_n.jpg\']' }

我想打印值12071331_184535658548108_1612982316_n.jpg 以查看。我使用了这样的方法:

{% for i in collection %}     
 {{i.img1[0]}}
{% endfor %}

但视图只显示字符串的第一个字符:

[

{{i.img1}} 的结果是:

['12071331_184535658548108_1612982316_n.jpg', '12071715_826061364175214_103377995_n.jpg', '12076929_10207206326744146_1386812779_n.jpg']

问题是,我如何在视图上打印12071331_184535658548108_1612982316_n.jpg? P/s:我尝试在控制器和视图的某些情况下同时使用 JSON.parse()JSON.stringify(),但没有用。 谢谢

【问题讨论】:

    标签: javascript mysql json node.js


    【解决方案1】:

    collection[0] 的值似乎是一个字符串。您需要在代码中的某处将字符串解析为对象 (JSON.parse(string))。

    【讨论】:

    • 在一些尝试中同时使用了 JSON.parse() 和 JSON.stringify,但没有运气:( 我也在控制器和视图上都试过了。
    • 我可能是错的,但似乎当该对象被放入(或取出)数据库时,某些东西会使结构无效。您可能需要存储不同的。我让它以一种有点被破解的方式工作......看到这个fiddle
    • 虽然关于输入数据时的 enctype="multipart/form-data"。但是我尝试手动输入数据仍然无法正常工作。 IMG1列上的数据就是如此: ['12071331_18453565823108_16129823108_161298548108_16129823108_16129823108_16129823108_1614175214_103377995_n.jpg','12076929_1020720606412779_n.jpg'] span>
    【解决方案2】:

    如果你想在视图上显示你的图像,你需要的不是图像名称而是图像路径。

    例如,如果您将所有图像存储在 public/images 文件夹下。您可以使用<img src="/images/{{i.img1}}"/> 来显示您的照片。

    【讨论】:

    • 是的,我知道,但重点是 {{i.img1}} 只显示主字符串的第一个字符串。
    猜你喜欢
    • 2017-07-11
    • 2019-02-15
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    相关资源
    最近更新 更多