theohateonion
V2EX  ›  jQuery

用 jQuery 如何从 json 文件中选出特定关键字的键值对?

  •  
  •   theohateonion · Dec 7, 2015 · 5201 views
    This topic created in 3837 days ago, the information mentioned may be changed or developed.
    太晚了脑子有点迷糊 问题描述不清楚见谅

    我的 json 文件大概是{"title":xxx, "value":xxx, "title":xxx, "value":xxx ...}这种形式的 现在我要选出特定 title 内容的 json 文件 并进行 dom 操作 但是现在卡在选出上面了。写到现在脑子已经迷糊了。我知道这个问题可能比较愚蠢,当伸手党并不好。求各位的提供解决办法,直接给出解决办法或者提供相关的文档地址都感激不尽!(我去睡觉了明天起来回复大家 果然熬夜还是效率低)
    19 replies    2015-12-07 21:26:25 +08:00
    chemzqm
        1
    chemzqm  
       Dec 7, 2015
    $.json = function(jsonStringj){ return JSON.parse(jsonString)}
    $.json('{"title":xxx, "value":xxx, "title":xxx, "value":xx}')
    hxsf
        2
    hxsf  
       Dec 7, 2015
    json 对象的话,直接 obj.title ,obj.value 不就好了?
    julor
        3
    julor  
       Dec 7, 2015 via Android
    jQuery 害了一代人!标准的 json 难道还有比 js 更简单的语言?
    sxd
        4
    sxd  
       Dec 7, 2015
    1 楼太调皮
    hxsf
        5
    hxsf  
       Dec 7, 2015 via Android
    @hxsf 刚刚没注意,话说楼主的 json 怎么会有一堆 title 和 value 。。。。
    正常风格不是应该{"title1":value1, "title2":value2...}
    或者[{"title":xxx, "value":xxx}, {"title":xxx, "value":xxx}...}]
    说的不对还望见谅
    yuriko
        6
    yuriko  
       Dec 7, 2015
    key 重复是什么情况,把生成这段 json 的人拖出来打一顿
    JohnH
        7
    JohnH  
       Dec 7, 2015
    http://stackoverflow.com/questions/4992383/use-jquerys-find-on-json-object
    use jQuery's find() on JSON object

    传回这样的数据形式有点不对,应该像 @hxsf 写的那样
    Hyperion
        8
    Hyperion  
       Dec 7, 2015
    @julor 这并不是 jQuery 的锅, 估计只是没搞清楚逻辑而已.

    @sxd 大清早活捉野生 sxd 一枚.
    theohateonion
        9
    theohateonion  
    OP
       Dec 7, 2015
    @hxsf - -果然还是不能熬夜写代码 对的 数据格式是你说的。 我描述错了。
    theohateonion
        10
    theohateonion  
    OP
       Dec 7, 2015
    @Hyperion 对哒 可能也是昨天弄了半天也没弄出来有点沮丧 今天再慢慢捋一捋~
    Niphor
        11
    Niphor  
       Dec 7, 2015
    这种不是应该用 lodash 什么的么...
    YuJianrong
        12
    YuJianrong  
       Dec 7, 2015
    这要什么 jQ 啊 orz ……
    var map = arr.map(function(m, item){ m[item.title] = item.value; return m}, {});
    你这样转出一个 map 不就随便怎么用了么……
    powergx
        13
    powergx  
       Dec 7, 2015 via iPhone
    这 tmd 是 json ,为什么 有两个 title
    feikeq
        14
    feikeq  
       Dec 7, 2015
    @powergx 就是,这明显第二个 title 会覆盖第一个.
    xieranmaya
        15
    xieranmaya  
       Dec 7, 2015
    你的 json 是数组吧,直接 map 或者 filter 不就好了吗,这关 jQuery 什么事。。。
    FrankFang128
        16
    FrankFang128  
       Dec 7, 2015 via Android
    把输出者打一顿可以解决根本问题。
    theohateonion
        17
    theohateonion  
    OP
       Dec 7, 2015
    @powergx 是我自己描述错了 数据格式应该是如 @hxsf 所说
    nino
        18
    nino  
       Dec 7, 2015
    filter 一下即可
    TaMud
        19
    TaMud  
       Dec 7, 2015
    $("[title='TaMud 全是猪']")
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 21:48 · PVG 05:48 · LAX 14:48 · JFK 17:48
    ♥ Do have faith in what you're doing.