首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell (bash) json整数显示为字符串而不是整数

Shell是一种命令行解释器,它是一种用于执行操作系统命令的程序。Bash是Shell的一种常见实现,它是Linux和macOS系统中默认的Shell。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。在Bash中,可以使用各种工具和技术来处理JSON数据。

在Bash中,JSON整数显示为字符串而不是整数的原因可能是因为JSON数据中的整数被引号包围,导致其被解析为字符串类型。这可能是由于数据源生成JSON时的设置或编码问题导致的。

要将JSON整数正确显示为整数而不是字符串,可以使用各种方法来处理:

  1. 使用jq工具:jq是一个强大的命令行JSON处理工具,可以用于解析、过滤和转换JSON数据。可以使用jq的内置函数将JSON字符串转换为整数类型。例如,使用.[]操作符可以遍历JSON数组中的元素,并使用tonumber函数将字符串转换为整数。
  2. 使用awk命令:awk是一种文本处理工具,也可以用于处理JSON数据。可以使用awk的字符串转换函数将JSON字符串转换为整数类型。例如,使用+0操作符可以将字符串转换为整数。
  3. 使用sed命令:sed是一种流编辑器,也可以用于处理JSON数据。可以使用sed的替换命令将JSON字符串中的引号去除,从而将其转换为整数类型。
  4. 使用编程语言:如果需要更复杂的JSON处理操作,可以使用编程语言如Python、JavaScript等来处理JSON数据。这些语言通常提供了丰富的库和函数来解析和处理JSON数据。

总结起来,要将JSON整数正确显示为整数而不是字符串,可以使用jq、awk、sed等工具或编程语言来处理JSON数据。具体的处理方法取决于具体的需求和环境。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell语法

如果POSITION或LENGTH负数,0或非数值,则返回空字符串(下标从1开始)   整数表达式 expr支持普通算数操作,算数表达式优先级低于字符串表达式,高于逻辑表达式...— 加减运算,两端参数会转化为整数,如果转化失败则会报错 * / % 乘除取余运算,两端参数会转化为整数(*在shell中有特殊含义,所以需要转义) ()可以表示优先级,但是需要用反斜杠转义 逻辑表达式...,shell中是以space隔开每一项) 格式:printf format-string [arguments…] printf “%d\n” yxc shell中printf不自带换行,所以需要自己加上...code0表示真,非0表示假 可以根据短路特性来做if表达式 test命令 test命令用于判断文件类型,以及对变量做比较 test命令用exit code来返回结果,不是使用stdout,0表示真...-s文件是否非空文件,是则返回0(真),否则返回1(假) 整数间的比较 -eq a是否等于b(equal)(为什么不是-e,因为-e是转义,已经被使用过,-e也可以是exist中的是否存在) -ne

12210

Shell脚本内建命令

当不提供变量名参数时显示所有shell变量,declare命令若不带任何参数选项,则会显示全部的shell变量与函数(与执行set指令的效果相同)。...; -f:仅显示函数; -r:将变量设置只读(临时生效); -x:指定的变量会成为环境变量,可供shell以外的程序来使用; 操作实例: #1.定义一个字符串shell变量 $ declare name...命令(在写脚本的时候需要注意安全意识) bc 命令 描述:bash内置了对整数四则运算的支持,但是并不支持浮点运算,bc计算命令算术操作高级运算工具,它可以执行浮点运算和一些高级函数; 语法参数:...表达式2 #条件求反 # 判断字符串 test –n 字符串 #字符串的长度非零 test –z 字符串 #字符串的长度是否零 test 字符串=字符串2 #字符串是否相等...=字符串2 #字符串是否不等,若不等反悔false #判断整数 test 整数1 -eq 整数2 #整数相等 test 整数1 -ge 整数2 #整数1大于等于整数2 test

1.7K10
  • Linux Shell基础篇四 - 计算命令

    Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等。...获取第一个字符在字符串中出现的位置 expr index "helloworld" l 返回: 3 expr match 字符串 正则表达式expr 字符串 : 正则表达式 正则表达式匹配,返回值符合匹配字符的长度...*o“ 含义匹配字符串中o前面的字符串长度,贪心匹配 (())命令 双小括号(( )),用于进行数学运算表达式的执行 , 将数学运算表达式放在((和))之间。...语法功能等价于((表达式)) 多个表达式之间使用空格,不是”,“号 对于类似let a+b这样的写法,Shell 虽然计算了 a+b 的值,但却将结果丢弃。...bc命令 Bash Shell内置了对整数运算的支持,但是并不支持浮点运算, linux bc (basic calculator)命令可以很方便的进行浮点运算。

    3.3K20

    【DB笔试面试275】 与SHELL脚本相关的一些笔试面试题(目前36道,后续持续更新)

    0 如果结束状态不是0,那么说明命令执行失败。 真题7、在SHELL脚本中如何比较两个数字?...真题9、SHELL脚本中continue命令的作用有哪些? 答案:continue命令不同于break命令,它只跳出当前循环的迭代,不是整个循环。.../bin/bash”的作用是什么? 答案:“#!/bin/bash”是SHELL脚本的第一行,意思是后续命令都通过/bin/bash来执行。 真题14、请写出SHELL脚本中for循环的语法。...test –n 字符串 字符串的长度非零 test –z 字符串 字符串的长度零 test...=字符串2 字符串不等 3)判断整数 test 整数1 –eq 整数2 整数相等 test 整数1 –ge 整数2

    88530

    Shell整数运算

    这是因为,在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。...换句话说,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。...Shell (()) ------------ 双小括号 (()) 是 Shell 中专门用来进行整数运算的命令,它的效率很高,写法灵活,但只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。.../bin/bash a=10 b=35 let a+=6 c=a+b #多个表达式以空格分隔 echo $a $c 运行脚本: $ ....bc计算结果是小数,整数部分为0时,没有显示0的解决方案 #!

    3K00

    Shell计算命令

    Shell基础入门 linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?使用linux的内核操作计算机的硬件Shell介绍......Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等....*m" 含义匹配字符串中m前面的字符串长度 正则表达式匹配2语法, 功能与语法1一样 expr 字符串 : 正则表达式 # 正则表达式默认带有^ , 代表以什么开头 # 返回值符合匹配字符的长度...语法 let 赋值表达式 注意 语法功能等价于((表达式)) 多个表达式之间使用空格, 不是","号 对于类似let a+b这样的写法,Shell 虽然计算了 a+b 的值,但却将结果丢弃,如果 echo...计算命令:bc命令详解 介绍 Bash shell内置了对整数运算的支持,但是并不支持浮点运算, linux bc (basic calculator)命令可以很方便的进行浮点运算. bc命令是Linux

    2.6K20

    【DB笔试面试275】 与SHELL脚本相关的一些笔试面试题(目前37道,后续持续更新)

    0 如果结束状态不是0,那么说明命令执行失败。 真题7、在SHELL脚本中如何比较两个数字?...真题9、SHELL脚本中continue命令的作用有哪些? 答案:continue命令不同于break命令,它只跳出当前循环的迭代,不是整个循环。.../bin/bash”的作用是什么? 答案:“#!/bin/bash”是SHELL脚本的第一行,意思是后续命令都通过/bin/bash来执行。 真题14、请写出SHELL脚本中for循环的语法。...test –n 字符串 字符串的长度非零 test –z 字符串 字符串的长度零 test...=字符串2 字符串不等 3)判断整数 test 整数1 –eq 整数2 整数相等 test 整数1 –ge 整数2

    1.8K30

    Shell 内建命令:Shell 的内在魔力

    -d delimiter用字符串 delimiter 指定读取结束的位置,不是一个换行符(读取到的数据不包括 delimiter)。...-n num读取 num 个字符,不是整行字符。-p prompt显示提示信息,提示内容 prompt。-r原样读取(Raw mode),不把反斜杠字符解释转义字符。...-u fd使用文件描述符 fd 作为输入源,不是标准输入,类似于重定向。#!...-g name在 Shell 函数内部创建全局变量。-p name显示指定变量的属性和值。-a name声明变量普通数组。-A name声明变量关联数组(支持索引下标字符串)。.../bin/bash# 将变量声明为整数并进行计算declare -i x y retx=11y=22ret=$x+$yecho $ret # 33内建命令是 Shell 的核心功能,它们提供了快速且强大的工具来处理日常任务

    11500

    MongoDB基础之BSON数据类型

    MongoDB的文档类似于JSONJSON是一种简单的表示数据的方式,仅包含6种数据类型,分别是:null、布尔、数字、字符串、数组和对象。...64-bit integer(64位整数shell中也不支持这个类型,shell中会使用一个特殊的内嵌文档来显示64位整数。 Double(64位浮点数) JavaScript中只有一种数字类型。...数字只能表示双精度数,有些64位的整数并不能精确地表示64位浮点数。所以要是存入一个64位整数,然后在shell中查看,它会显示一个内嵌文档,表示可能不准确。...在JavaScript中,Date对象用做MongoDB的日期类型,创建一个新的Date对象时,调用new Date()不是Date()。...调用Date()实际上会返回对日期的字符串表示,不是真正的Date对象。这不是MongoDB的特性,而是JavaScript本身的特性。

    4.2K10

    Shell变量

    Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。...这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。...如C/C++ ,变量分为整数、浮点数、字符串、布尔等多种类型。.../bin/bash globalVar=dablelv #全局变量 (4)局部变量。在Shell脚本中函数内显示使用local关键字定义的变量。其作用域局限于函数内。...这种方式比较适合定义显示字符串的情况,即不希望解析变量、命令等的场景。 以双引号包围变量的值时,输出时会先解析里面的变量和命令,不是把双引号中的变量名和命令原样输出。

    1.1K20

    shell中各种括号的作用(上)

    ((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果0,那么返回的退出状态码1,或者 是”假”,一个非零值的表达式所返回的退出状态码将为0,或者是”true”。...if/test结构中并不是必须右中括号,但是新版的Bash中要求必须这样。 2.Test和[]中可用的比较运算符只有==和!...=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。...2.支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,不仅仅是一个字符串,比如[[ hello == hell? ]],结果真。...[[ ]] 中匹配字符串或通配符,不需要引号。 3.使用[[ … ]]条件判断结构,不是[ … ],能够防止脚本中的许多逻辑错误。

    90420

    mongodb11天之屠龙宝刀(九)js函数入门:MongoDB基于js的数据类型修改

    数据类型 基本数据类型   MongoDB的文件存储格式BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用。...shell会使用一个特殊的内嵌文档来显示64位整数, 64位浮点数 shell中的数字都是这种类型。...下面的表示都是浮点数: {"X" : 3.1415926} {"X" : 3} 字符串 UTF-8字符串都可表示字符串类型的数据: {"x" : "foobar"} 符号 不支持这种类型。...parseInt()函数:把字符串转换成整数。返回是从字符串的第一个字符开始,如果字符不是整数开头则返回0。parseInt()函数还可以转换十六进制数或十进制数。...如果 numString 的前缀不能解释浮点数,则返回 NaN (不是数字)。 parseFloat("abc") // 返回 NaN。

    1.4K30

    MongoDB基础之BSON数据类型

    MongoDB的文档类似于JSONJSON是一种简单的额表示数据的方式,仅包含6种数据类型,分别是:null、布尔、数字、字符串、数组和对象。...在JavaScript中,Date对象用做MongoDB的日期类型,创建一个新的Date对象时,调用new Date()不是Date()。...调用Date()实际上会返回对日期的字符串表示,不是真正的Date对象。这不是MongoDB的特性,而是JavaScript本身的特性。...如果使用错误,就会导致日期和字符串混淆,字符串和日期不能互相匹配,最终会给删除、更新、查询等很多操作带来问题。 shell中的日期显示时使用本地时区设置。...数字只能表示双精度数,有些64位的整数并不能精确地表示64位浮点数。所以要是存入一个64位整数,然后在shell中查看,它会显示一个内嵌文档,表示可能不准确。

    9.2K30

    mongodb11天之屠龙宝刀(九)js函数入门:MongoDB基于js的数据类型修改

    数据类型 基本数据类型   MongoDB的文件存储格式BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用。...shell会使用一个特殊的内嵌文档来显示64位整数, 64位浮点数 shell中的数字都是这种类型。...下面的表示都是浮点数: {"X" : 3.1415926} {"X" : 3} 字符串 UTF-8字符串都可表示字符串类型的数据: {"x" : "foobar"} 符号 不支持这种类型。...parseInt()函数:把字符串转换成整数。返回是从字符串的第一个字符开始,如果字符不是整数开头则返回0。parseInt()函数还可以转换十六进制数或十进制数。...如果 numString 的前缀不能解释浮点数,则返回 NaN (不是数字)。 parseFloat("abc") // 返回 NaN。

    2.1K40

    shell中的括号(小括号,中括号,大括号)

    ((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果0,那么返回的退出状态码1,或者 是"假",一个非零值的表达式所返回的退出状态码将为0,或者是"true"。...=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。...2、双中括号[[ ]]     ①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。...②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,不仅仅是一个字符串,比如[[ hello == hell? ]],结果真。...[[ ]] 中匹配字符串或通配符,不需要引号。     ③使用[[ ... ]]条件判断结构,不是[ ... ],能够防止脚本中的许多逻辑错误。

    3.9K10

    Bash Printf 命令

    一、printf 命令 printf 是一个Bash 和其他流行的 shell,例如 Zsh 和 Ksh 等内建的 shell 命令。...它有一个独立的二进制包/usr/bin/printf,但是shell 内建的版本优先。我们将会讲解 Bash 内建的printf版本。...下面是一个列表,显示各种类型转换符,以及他们的作用: %b - 将参数中支持的反斜杠转义字符转义以后再打印 %q - 将参数按可以作为shell输入重用的格式打印 %d, %i - 将参数按有符号十进制整数打印...在下面的这个例子中,宽度被设置成10: printf "%0*d" 10 5 0是一个标记,意思是补0,不是补空格。...输出文本至少10个字符: 0000000005 3.4 精度指令 精度修饰符.加上一个正数或者星号。 精度有以下作用: 如果转换类型整数,精度就是打印的数字最小位数。

    4.2K10

    Shell 简明教程

    作为交互登录 Shell 启动,或者使用 —login 参数启动 交互 Shell 指的是用户在提示符下输入命令的 Shell不是执行脚本的 shell。...Shell 中的所有变量都是字符串Shell中的变量也不需要先定义后使用,使用一个没有定义的变量,这个变量的值字符串。 6. 通配符 — *、?...[若干字符] 匹配方括号中的任意字符 如我们可以使用 ls ch0[012].doc 命令查找文件,如果当前目录下有 ch00.doc 和 ch02.doc,ls 的参数会直接转换成这两个文件名,不是一个匹配字符串...算术代换 — $(()) Shell 会将 $(()) 中的 Shell 变量的取值转换成整数用于算术计算(其他情况下 Shell 都将变量视为字符串,无法进行算术计算) VAR=45 echo $((...echo 'ABC\\' 会显示 ABC\ 双引号也将其中的字符串视为字面值,但是反引号、$、转义字符等等都保持原来的意义。 如: echo "$SHELL" 会显示 /bin/bash

    2.1K40

    Linux Bash Shell入门教程

    由于 echo 后跟的是 "Hello World" 这个字符串,因此 "Hello World"这个字串就被显示在控制台终端的屏幕上了。需要注意的是 BASH 中的绝大多数语句结尾处都没有分号。...更细致的文档甚至提到以但引号括起来的变量将不被 BASH 解释变量,如 '$STR' ,被看成为纯粹的字符串。...BASH 中的变量既然不需要定义,也就没有类型一说,一个变量即可以被定义一个字符串,也可以被再定义整数。如果对该变量进行整数运算,他就被解释整数;如果对他进行字符串操作,他就被看作为一个字符串。...a 是否空就写作: if [ -z $a ] 判断整数变量 a 是否大于 b 就写作:if [ $a -gt $b ] 更细致的文档推荐在字符串比较时尽量不要使用 -n ,而用 !...BASH 要求返回值必须一个整数,不能用 return 语句返回字符串变量。

    2.8K40

    Shell基本操作与命令

    $BASH  表示当前 Shell 的路径字符串。 $RANDOM 随机的生成一个大小在 1 到 65536 之间的整数。...a 和 b 是否相等就写作:if [ $a = $b ] 判断字符串 a 是否空就写作: if [ -z $a ] 判断整数变量 a 是否大于 b 就写作:if [ $a -gt $b ] 注意...函数参数的定义并不需要在函数定义处就制定,只需要在函数被调用时用 BASH 的保留变量 $1 $2 ... 来引用就可以了。...BASH 的返回值可以用 return 语句来指定返回一个特定的整数,如果没有 return 语句显式的返回一个返回值,则返回值就是该函数最后一条语句执行的结果(一般 0,如果执行失败返回错误码)。...BASH 要求返回值必须一个整数,不能用 return 语句返回字符串变量。 函数的返回值在调用该函数的程序体中通过 $? 保留字来获得。

    1.5K50
    领券