JAVA 中 提取 JSON 字符串中的 KEY 和 VALUE 值,去除JSON中的VALUE值的 前后空格

JSONObject jobj = JSONObject.fromObject(conditions == null ? "{}"
				: conditions);

		Iterator it = jobj.keys();

		String infotype = "FCCS";
		
		while (it.hasNext()) {

			String key = it.next().toString();

			// 将所有的空串去掉
			if (StringUtil.getString(jobj.getString(key)) == null) {

				continue;
			}

			if("infoType".equals(key)){      //试剂类型
				if("FCCS".equals(jobj.getString(key))){
					infotype = "FCCS";
				}else if("HS".equals(jobj.getString(key))){
					infotype = "HS";
				}
			}

	/**
	* @Title: JsonStrTrim
	* @author : jsw
	* @date : 2012-12-7
	* @time : 上午09:19:18
	* @Description: 传入string 类型的 json字符串 去处字符串中的属性值的空格
	* @param jsonStr
	* @return
	* @exception:(异常说明)
	*/
	public JSONObject JsonStrTrim(String jsonStr){
		
		JSONObject reagobj = JSONObject.fromObject(jsonStr);
		// 取出 jsonObject 中的字段的值的空格
		Iterator itt = reagobj.keys();
		
		while (itt.hasNext()) {
			
			String key = itt.next().toString();
			String value = reagobj.getString(key);
			
			if(value == null){				
				continue ;		
			}else if("".equals(value.trim())){				
				continue ;
			}else{
				reagobj.put(key, value.trim());
			}
		}
		return reagobj;
	}
	
	/**
	* @Title: JsonStrTrim
	* @author : jsw
	* @date : 2012-12-7
	* @time : 上午09:21:48
	* @Description: 传入jsonObject 去除当中的空格
	* @param jsonStr
	* @return
	* @exception:(异常说明)
	*/
	public JSONObject JsonStrTrim(JSONObject jsonStr){
		
		JSONObject reagobj = jsonStr ;
		// 取出 jsonObject 中的字段的值的空格
		Iterator itt = reagobj.keys();
		
		while (itt.hasNext()) {
			
			String key = itt.next().toString();
			String value = reagobj.getString(key);
			
			if(value == null){				
				continue ;		
			}else if("".equals(value.trim())){				
				continue ;
			}else{
				reagobj.put(key, value.trim());
			}
		}
		return reagobj;
	}
	
	
	/**
	* @Title: JsonStrTrim
	* @author : jsw
	* @date : 2012-12-7
	* @time : 上午11:48:59
	* @Description: 将 jsonarry 的jsonObject 中的value值去处前后空格
	* @param arr
	* @return
	* @exception:(异常说明)
	*/
	public JSONArray JsonStrTrim(JSONArray arr){
		
		if( arr != null && arr.size() > 0){
			for (int i = 0; i < arr.size(); i++) {
				
				JSONObject obj = (JSONObject) arr.get(i);
				// 取出 jsonObject 中的字段的值的空格
				Iterator itt = obj.keys();
				
				while (itt.hasNext()) {
					
					String key = itt.next().toString();
					String value = obj.getString(key);
					
					if(value == null){				
						continue ;		
					}else if("".equals(value.trim())){				
						continue ;
					}else{
						obj.put(key, value.trim());
					}
				}
				arr.set(i,  obj );				
			}
		}
		return arr;
	}
	


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用Pythonjson库来解析json数据,然后使用for循环遍历json数据的所有keyvalue。以下是示例代码: ```python import json json_data = '{"name": "John", "age": 30, "city": "New York"}' data = json.loads(json_data) for key, value in data.items(): print(key, value) ``` 输出结果为: ``` name John age 30 city New York ``` ### 回答2: 使用shell脚本获取JSON所有keyvalue的一种方法是通过awk命令。以下是一个示例脚本: ```shell #!/bin/bash json='{ "name": "John", "age": 30, "city": "New York" }' # 使用awk命令解析JSON,并打印所有keyvalue echo $json | awk -F '[:,}]' '{for(i=1;i<=NF;++i){if($i~/\"\w+\"/){printf "%s ", $i}else if($i!~/^[\ \{\"\}\:\[]+$/){printf "%s\n", $i}}}' ``` 在上面的例子,我们定义了一个json变量来存储需要解析的JSON字符串。然后,使用awk命令将JSON字符串作为输入,并使用分隔符来逐个解析每个元素。 其,使用`-F '[:,}]'`指定了分隔符为:、,和}。然后,使用一个循环来遍历解析出的每个元素。我们使用正则表达式来判断元素是否为key(以双引号开头和结尾),如果是则打印,并使用空格进行分隔。如果元素不是key,则判断是否为value(不包含空格、{、}、:、[和]),如果是则打印,并使用换行符进行分隔。 运行以上脚本,将输出JSON所有的keyvalue: ``` "name" "John" "age" 30 "city" "New York" ``` 注意:这种方法只适用于JSON的结构较为简单,不包含多层嵌套的情况。对于复杂的JSON结构,推荐使用专门的JSON解析工具,如jq。 ### 回答3: 使用shell脚本可以使用awk和sed来获取json的所有keyvalue。 以下是一个示例脚本: ```shell #!/bin/bash # 定义json字符串 json='{"name": "John", "age": 30, "city": "New York"}' # 使用sed将json字符串转换为适合处理的格式 formatted_json=$(echo $json | sed 's/[{},]//g') # 分别获取所有的keyvalue keys=$(echo $formatted_json | awk -F: '{print $1}') values=$(echo $formatted_json | awk -F: '{print $2}') # 将结果打印出来 echo "所有的key:" echo $keys echo "所有的value:" echo $values ``` 在脚本,先使用sed将json字符串的大括号和逗号删除,得到一个适合处理的格式。然后使用awk将这个格式按照冒号分割成keyvalue。最后将结果打印出来。 注意:该脚本适用于简单的json格式(如示例json字符串),对于复杂的嵌套结构可能会失效。如果需要处理更复杂的json,建议使用专门的json解析工具,如jq。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值