我有一个JSON输出如下:
{
"example": {
"sub-example": [
{
"name": "123-345",
"tag" : 100
},
{
"name": "234-456",
"tag" : 100
},
{
"name": "4a7-a07a5",
"tag" : 100
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我想提取三个"名称"字段的值并将其存储在三个变量中.
我试图cat json_file | jq '.["example.sub-example.name"]'提取"名称"字段的值,但这不起作用.
谁能告诉我如何使用jq(或其他方法)实现这一目标?
在我的JSON文件中,其中一个字段必须携带另一个文件(字符串)的内容。
该字符串具有CRLF,单/双引号,制表符。
有没有办法将我的整个字符串视为原始字符串,这样我就不必转义特殊字符了?
JSON中的等效字符串与C ++中的字符串原始定界符一样吗?
在C ++中,我只是将整个文件内容放入:R“(...)”
我有以下结构:
#include <string>
#include <vector>
struct A {
std::string name;
int id;
};
Run Code Online (Sandbox Code Playgroud)
并且包含A元素的向量:
std::vector<A> a_vector;
Run Code Online (Sandbox Code Playgroud)
我试图将一个元素附加到向量并使用以下内容更改其值:
void test()
{
A a;
get_a(a);
//Up to this point I thought modifying this a object would mean modifying the back element of the vector. But it doesn't work as planned, doing this:
a.id = 2; //Doesn't modify the id of the element in the vector.
}
Run Code Online (Sandbox Code Playgroud)
其中get_a定义为:(代码是简化的,在真正的代码中我真的需要传递一个as参数而不是将其作为返回)
void get_a(A& a) //This function normally assigns a in different ways
{
a_vector.emplace_back();
a = …Run Code Online (Sandbox Code Playgroud)