遍历JSON对象并检查解析的查询是否匹配

时间:2019-03-27 09:59:24

标签: javascript json object nuxt.js

我正在使用Nuxt JS 2.4.5,并且尝试对已导入的JSON对象进行操作,以基于URL中的查询来查看它是否包含匹配项,例如:mysite.com/page?id=TEST-如果在导入的JSON对象中找不到TEST,请执行以下操作。

我目前已经设置了一个foreach循环来遍历正确导入的JSON对象,如果找不到解析的内容,似乎无法运行我的代码。

要添加上下文,请参见以下代码:

JSON

{
  "id_1": "something here",
  "id_2": "something else here"
}

JS

var iframe_settings = JSON.parse(localStorage.getItem('iframe_settings'));
this.iframe_settings = iframe_settings

for (var aff in this.affiliates) {
        if (this.affiliates.hasOwnProperty(aff)) {
          if (aff != this.iframe_settings.id) {
            // do something if ?id=X isn't found in JSON object
          }
        }
      }

从上面的foreach循环和提供的JSON中,我试图遍历我的JSON对象,并检查是否可以在JSON对象中找到mysite.com/page?id=id_3,如果无法在我所在的位置运行代码已经有// do something

通过?id=id_3localStorage.setItem('iframe_settings', JSON.stringify(this.$route.query));传递到Localstorage中,但这不是问题,问题在于我的foreach循环。

如果可以找到mysite.com/page?id=id_3,例如id_2,则不应运行if语句。

编辑

this.affiliates位于data ()

内部
import AffiliatesFromJson from '~/static/affiliates/affiliates.json';

export default {
  data () {
    affiliates: AffiliatesFromJson
  }
}

1 个答案:

答案 0 :(得分:0)

这是文件名称的关联公司

lst = ['55.7492,12.5405', '55.7492,12.5405', '55.7492,12.5406', '55.7492,12.5406']
df = pd.DataFrame({'column':[lst,lst]})

df['locations'] = df['column'].apply(lambda x: [list(map(float,y.split(','))) for y in x])
print (df)

                                              column  \
0  [55.7492,12.5405, 55.7492,12.5405, 55.7492,12....   
1  [55.7492,12.5405, 55.7492,12.5405, 55.7492,12....   

                                           locations  
0  [[55.7492, 12.5405], [55.7492, 12.5405], [55.7...  
1  [[55.7492, 12.5405], [55.7492, 12.5405], [55.7...  

从json文件导入:

{
   "id": "something here",
   "id": "something else here"
}