我想将对象父键放入对象本身并将每个键值对转换为数组
鉴于:
{
"field1": {
"key1": 11,
"key2": 10
},
"field2": {
"key1": 11,
"key2": 10
}
}
Run Code Online (Sandbox Code Playgroud)
所需输出
[
{"name": "field1", "key1": 11, "key2": 10},
{"name": "field2", "key1": 11, "key2": 10}
]
Run Code Online (Sandbox Code Playgroud)
我知道这jq keys会给我["field1", "field2"]并且jq '[.[]]'会给我
[
{ "key1": 11, "key2": 10 },
{ "key1": 11, "key2": 10 }
]
Run Code Online (Sandbox Code Playgroud)
我无法找到将它们结合起来的方法,我该怎么做?
我正在尝试编写一个将数据存储在文本文件中的函数,使用fopen("filename","w")where"filename"是用户输入的字符串.我已选择通过该getchar()功能这样做,我需要一个计数器变量,每次击键都会增加.这是令人费解和困惑的地方.
char *p;
int count = 0;
p = (char*)malloc(32*sizeof(char));
do
{
*p = getchar();
count++;
}
while(getchar() != '\n');
Run Code Online (Sandbox Code Playgroud)
直到输入3个字符,它只需按1次Enter键,计数器就准确到2个字符后,它跟随一个奇怪的模式.
--------------------Input------------------------Count--------------------
-------------------- t -------------------------- 1 --------------------
-------------------- te ------------------------- 2 --------------------
-------------------- tes ----------------------- 2 --------------------
-------------------- test ------------------------ 3 ---------------------
-------------------- test1 ----------------------- 3 ---------------------
-------------------- test12 ---------------------- 4 ---------------------
-------------------- test123 --------------------- 4 ---------------------
-------------------- test1234 -------------------- 5 ---------------------
Run Code Online (Sandbox Code Playgroud)
基本上,对于每2个额外的字符,计数增加1.
该功能如何在此上下文中工作,为什么需要2次击键?