def UserRead(): with open('userInfo.json', 'r', encoding='utf-8') as f: my_obj_list = json.load(f) return my_obj_list my_obj_list是一个json文件:{'users': [{'username': '11', 'password': '18'}, {'username': '22', 'password': '19'}]} 如果我要依次遍历里面的username和password要怎么写
时间: 2023-09-01 19:11:05 浏览: 77
您可以使用以下代码依次遍历json文件中的username和password:
```
my_obj_list = UserRead() # 调用UserRead函数读取json文件
users = my_obj_list['users'] # 获取users列表
for user in users:
username = user['username']
password = user['password']
print('username:', username, 'password:', password) # 输出username和password
```
对于每个用户,我们可以使用`user['username']`和`user['password']`获取他们的用户名和密码,然后使用print语句将它们输出到控制台中。
相关问题
void S1mmeSession::CtEncodeKqi(S1MMEKQI* kqi, S1APNode* p_node, uint8_t worker_id) { MsgCommonInfo& common = p_node->GetCommonInfo(); SPUserInfo& sp_user_info = p_node->GetUserInfo(); //获取 buf TlvEncoder* p_encoder_cur = g_p_encoder_[worker_id]; YdCDR_T* p_dst_data = (YdCDR_T*)malloc(sizeof(YdCDR_T)); if (p_dst_data == NULL) { return; } p_dst_data->not_associate = 0; if ((common.not_associate & 0x03) == 0x03) p_dst_data->not_associate = 1; p_encoder_cur->Set(p_dst_data->cdr_data,kMaxOneCdrBufLen); uint64_t imsi = sp_user_info->GetIMSI(); if(common.eci == 0) { common.eci = sp_user_info->GetEci(); } uint16_t tmp_enbid = common.tac;//>>8; //uint32_t tmp_enbid = (common.eci >> 8)&0xfffff; char xdrid_str[32]={0}; #ifdef OPEN_NEW_HUISU convert_xdrid_to_string(xdrid_str, kqi->xdrid, s_xdr_id_len); #else #ifdef OPENCTPR g4sigtran::pr::ProcBlock* p_blk = kqi->binary_block_in_xdr_.GetBlock(); p_blk->SerializeXid(xdrid_str, sizeof(xdrid_str)); #else uint64_t subcdrid = g_ct_xdr_id.GetXid(); //reverse subend; if(::is_open_reverse) { SetReverseSubend(p_node, subcdrid); } #ifdef ONE_THIRD_YUNNAN_MRO g_ct_xdr_id.Serialize((uint8_t*)xdrid_str, s_xdr_id_len, imsi); #else g_ct_xdr_id.Serialize((uint8_t*)xdrid_str, s_xdr_id_len); #endif #endif #endif struct timespec start_time = kqi->request_time_, end_time = kqi->response_time_; if (kqi->request_time_.tv_sec == 0) { if (!(kqi->response_time_.tv_sec == 0)) { start_time = kqi->response_time_; } else if (!(kqi->complete_time_.tv_sec == 0)) { start_time = kqi->complete_time_; } } if (!(kqi->complete_time_.tv_sec == 0)) { end_time = kqi->complete_time_; } if (end_time.tv_sec == 0) { end_time = start_time; } p_encoder_cur->SetHdr(kEncoderCdr, kqi->kqi_type_, current_time_.tv_sec, worker_id); //child_kqi //p_encoder_cur->Add("0", kExportTagChildKqi);什么意思
这是一个函数的实现,函数名为S1mmeSession::CtEncodeKqi。该函数的作用是将S1MMEKQI结构体编码为TLV格式,并存储到缓冲区中。在函数中,先获取S1APNode的common和userInfo信息,然后获取TLV编码器和YdCDR_T类型的目标数据指针。接着,根据common和userInfo信息以及其他参数,设置目标数据指针的一些字段。然后,设置TLV编码器的头部信息,包括编码类型、KQI类型、时间戳和worker_id等。最后,通过TLV编码器将目标数据编码为TLV格式,并存储到缓冲区中。在函数的最后,出现了一行注释,但是没有具体说明该行代码的作用。
onGetOpenid: function (e) { let that=this wx.getUserInfo({ success: res => { this.setData({ avatarUrl: res.userInfo.avatarUrl, userInfo: res.userInfo }) wx.setStorage({ key: "Userinfo", data: this.data.userInfo }) // 调用云函数 wx.cloud.callFunction({ name: 'login', data: {}, success: res => { console.log('[云函数] [login] user openid: ', res.result.openid) app.globalData.openid = res.result.openid wx.setStorageSync("myOpenId", res.result.openid); const db = wx.cloud.database({ env: 'gdouerhome-8gtde3z00e0425c7' }) return db.collection('Assistant_User').add({ //添加人 data: { Username: that.data.userInfo.nickName, Last_to_Reply: Date.now(), Last_toup_Time: Date.now(), User_head_url: that.data.userInfo.avatarUrl, Creat_user_Time: Date.now() } }).then(res => { console.log(res); wx.switchTab({ url: '../Main_page/Main_page', }) }) }, fail: err => { console.error('[云函数] [login] 调用失败', err) wx.showToast({ title: '云函数:调用失败', icon: 'none', duration: 1500 })
这是一段小程序代码,实现的功能是获取用户的个人信息和 openid,调用云函数并将用户信息存储到云数据库中。其中,使用了 wx.getUserInfo 方法获取用户信息,通过 wx.cloud.callFunction 方法调用云函数获取 openid,最后使用 wx.cloud.database 方法将用户信息存储到云数据库中。
阅读全文