小编ham*_*rti的帖子

使用jq从JSON输出中提取特定字段

我有一个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 jq

42
推荐指数
3
解决办法
3万
查看次数

JSON文件中的原始字符串字段值

在我的JSON文件中,其中一个字段必须携带另一个文件(字符串)的内容。

该字符串具有CRLF,单/双引号,制表符。

有没有办法将我的整个字符串视为原始字符串,这样我就不必转义特殊字符了?

JSON中的等效字符串与C ++中的字符串原始定界符一样吗?

在C ++中,我只是将整个文件内容放入:R“(...)”

json rawstring

5
推荐指数
2
解决办法
1761
查看次数

使用vector :: back()修改vector元素

我有以下结构:

#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)

c++ reference vector c++14

1
推荐指数
1
解决办法
614
查看次数

标签 统计

json ×2

c++ ×1

c++14 ×1

jq ×1

rawstring ×1

reference ×1

vector ×1