python如何遍历json对象的数据

2021-02-07 09:56发布

[图]import requests     import json     url = 'https://github.com/timeline.json'     r = request...

import requests    
import json    
url = 'https://github.com/timeline.json'    
r = requests.get(url)    
json_obj = r.json()    
repos = set() # we want just unique urls    
print(json_obj)    
for entry in json_obj:    
try:    
repos.add(entry)    
except KeyError as e:    
print(e)    
from pprint import pprint    
pprint(repos)


6条回答
是开心果呀 - 热爱生活
2楼 · 2021-02-07 10:37

第一步,requests模块也是第三方模块,使用它之前需要下载安装;

第二步,在打开的pycharm编辑器中,新建re.py并导入requests模块;

第三步,定义一个变量u赋值给url,然后调用requests模块中的get()方法;

第四步,接着依次调用json()方法和set()方法,分次赋值给js和res;

第五步,利用for...in语句遍历js,然后使用try...except抛出异常;

第六步,最后导入pprint模块,然后使用这个方法打印res变量值


kitidog2016
3楼 · 2021-02-07 18:22
import requestsimport jsonurl = 'https://github.com/timeline.json'r = requests.get(url)json_obj = r.json()repos = set() # we want just unique urlsprint(json_obj)for entry in json_obj:try:repos.add(entry)except KeyError as e:print(e)from pprint import pprintpprint(repos)


py大白
4楼 · 2021-11-09 14:28

1.JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 “” 包裹,使用冒号 : 分隔,然后紧接着值:{“firstName”: “John”}
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
如:var obj = {a: ‘Hello’, b: ‘World’}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = ‘{“a”: “Hello”, “b”: “World”}’; //这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象互转
要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: ‘Hello’, b: ‘World’}); //结果是 ‘{“a”: “Hello”, “b”: “World”}’
要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
var obj = JSON.parse(‘{“a”: “Hello”, “b”: “World”}’); //结果是 {a: ‘Hello’, b: ‘World’}

取值(通用型):json[‘key’]
for(attr in json)中的attr获取到的是json中属性的名字,是个字符串

遍历
1. 简单的JSON对象进行遍历

// 遍历简单json对象
function traverseJsonSimpleObj(){
var jsonObj = {“name”: “kevin”, “age”: 27, “sex”: “男”, “city”: “shenzhen”};
for(var key in jsonObj){
var html = “


html += (key + ’ : ’ + jsonObj[key]);
html += “

“;
$(“#out”).append(html);
}
}
2. 遍历json数组,元素为json对象

function traverseJsonArray(){
var jsonArray = [{“name”: “kevin”, “age”: 27, “sex”: “男”, “city”: “shenzhen”},
{“name”: “kevin2”, “age”: 28, “sex”: “男”, “city”: “beijing”}];
//alert(‘JSON.stringify(jsonArray) = ’ + JSON.stringify(jsonArray));
for(var i=0; i


我的网名不再改
5楼 · 2021-11-10 13:51

json和pandas配合下

import json

import pandas as pd

js='''

{undefined

"message":"abc","result":{undefined

"paramtypeitems":[

{"name":"基本参数","paramitems":[

{"id":567,"name":"车型","valueitems":[

{"specid":37017,"value":"xDrive40i M运动套装"},

{"specid":37018,"value":"xDrive40i 尊享型 M运动套装"},

{"specid":33307,"value":"xDrive28i"}]

}]

}]

}

}

'''

dj=json.loads(js)

d=dj['result']['paramtypeitems'][0]['paramitems'][0]['valueitems']

df=pd.DataFrame(d)

print(df)

posted on

2020-01-17 17:49

锋齐叶落

阅读(5214)

评论(0)

编辑

收藏

Copyright © 2020 锋齐叶落

Powered by .NET 5.0.0 on Kubernetes


希希
6楼 · 2021-11-16 14:33

1.requests模块也是第三方模块,使用它之前需要下载安装;

第二步,在打开的pycharm编辑器中,新建re.py并导入requests模块;

第三步,定义一个变量u赋值给url,然后调用requests模块中的get()方法;

第四步,接着依次调用json()方法和set()方法,分次赋值给js和res;

第五步,利用for...in语句遍历js,然后使用try...except抛出异常;


20200921文 - 做更棒的自己!
7楼 · 2021-11-25 19:25

import json  data = {'name' : 'ACME','shares' : 100,'price' : 542.23}json_str = json.dumps(data)

1、创建python文件,testjson.py;

2、编写python代码,解析json数组,

json_str = {"name":"lisi",

            "age":27}

for key, value in json_str.items():

    print(str(key) + '=' + str(value))

3、右击,选择‘在终端中运行Python文件’;


4、查看运行结果,即可发现解析完成;


相关问题推荐

  • 回答 3

    换行。比如,print hello\nworld效果就是helloworld\n就是一个换行符。\是转义的意思,'\n'是换行,'\t'是tab,'\\'是,\ 是在编写程序中句子太长百,人为换行后加上\但print出来是一整行。...

  • 回答 42

    十种常见排序算法一般分为以下几种:(1)非线性时间比较类排序:a. 交换类排序(快速排序、冒泡排序)b. 插入类排序(简单插入排序、希尔排序)c. 选择类排序(简单选择排序、堆排序)d. 归并排序(二路归并排序、多路归并排序)(2)线性时间非比较类排序:...

  • 回答 70
    已采纳

    前景很好,中国正在产业升级,工业机器人和人工智能方面都会是强烈的热点,而且正好是在3~5年以后的时间。难度,肯定高,要求你有创新的思维能力,高数中的微积分、数列等等必须得非常好,软件编程(基础的应用最广泛的语言:C/C++)必须得很好,微电子(数字电...

  • 回答 28

    迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅记住了它的数据状态,生成器还记住了程序...

  • 回答 9

    python中title( )属于python中字符串函数,返回’标题化‘的字符串,就是单词的开头为大写,其余为小写

  • 回答 6

    第一种解释:代码中的cnt是count的简称,一种电脑计算机内部的数学函数的名字,在Excel办公软件中计算参数列表中的数字项的个数;在数据库( sq| server或者access )中可以用来统计符合条件的数据条数。函数COUNT在计数时,将把数值型的数字计算进去;但是...

  • 回答 1

    head是方法,所以需要取小括号,即dataset.head()显示的则是前5行。data[:, :-1]和data[:, -1]。另外,如果想通过位置取数据,请使用iloc,即dataset.iloc[:, :-1]和dataset.iloc[:, -1],前者表示的是取所有行,但不包括最后一列的数据,结果是个DataFrame。...

  • Python入门简单吗2021-09-23 13:21
    回答 45

    挺简单的,其实课程内容没有我们想象的那么难、像我之前同学,完全零基础,培训了半年,直接出来就工作了,人家还在北京大公司上班,一个月15k,实力老厉害了

  • 回答 4

    Python针对众多的类型,提供了众多的内建函数来处理(内建是相对于导入import来说的,后面学习到包package时,将会介绍),这些内建函数功用在于其往往可对多种类型对象进行类似的操作,即多种类型对象的共有的操作;如果某种操作只对特殊的某一类对象可行,Pyt...

  • 回答 8

     相当于 ... 这里不是注释

  • 回答 4

    还有FIXME

  • 回答 3

    python的两个库:xlrd和xlutils。 xlrd打开excel,但是打开的excel并不能直接写入数据,需要用xlutils主要是复制一份出来,实现后续的写入功能。

  • 回答 8

    单行注释:Python中的单行注释一般是以#开头的,#右边的文字都会被当做解释说明的内容,不会被当做执行的程序。为了保证代码的可读性,一般会在#后面加一两个空格然后在编写解释内容。示例:#  单行注释print(hello world)注释可以放在代码上面也可以放在代...

  • 回答 2

    主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行其他的:import linecachefile=open('3_2.txt','r')linecount=len(file.readlines())linecache.getline('3_2.txt',linecount)这样做的过程中发现一个问题,...

  • 回答 4

    或许是里面有没被注释的代码

  • 回答 26

    自学的话要看个人情况,可以先在B站找一下视频看一下

没有解决我的问题,去提问