json解析1.将json转成map<String,String>2.获取json里面某个值

/**
	 * 將一個json字符串轉成Map<String, String>
	 * 多個相同名稱得屬性,則保留最後一個屬性得值
	 * eg: {x:1,x:2}則最終x得值為2
	 * 
	 * @param jsonStr
	 * @return
	 */
	public Map<String, String> jsonToMap(String jsonStr){
		if (null==jsonStr) {
			return null;
		}
		Map<String, String> map=new HashMap<String, String>();
		String[] s=jsonStr.replace("\"", "").replace("{", "").replace("}", "").split(",");
		for (String st : s) {
			String[] s1=st.split(":");
			if (s1.length==3) {
				map.put(s1[0], null);
				map.put(s1[1], s1[2]);
				continue;
			}
			if (s1.length==2) {
				map.put(s1[0], s1[1]);
			}
		}
		return map;
	}
	/**
	 * 獲取json字符串中某個值
	 * @param jsonStr
	 * @param key
	 * @return
	 */
	public String getJsonValueByKey(String jsonStr,String key){
		Map<String, String> map=jsonToMap(jsonStr);
		return map.get(key);
	}

注:1.此方法有个缺陷,多个相同名称得属性,只能保留最后一个得值
     * eg: {x:1,x:2}則最終x得值為2

2.获取json某个值得方法是基于第一个方法得,所以请慎重

转载于:https://my.oschina.net/2892328252/blog/751135

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它使用键对的方式来表示数据,并支持多种数据类型。 将JSON格式换为Map<String, Map<String, String>>的步骤如下: 1. 首先,将JSON字符串解析为一个JSON对象。 2. 遍历JSON对象的键对,将键作为外层Map的键,作为内层Map。 3. 将内层Map添加到外层Map中。 以下是一个示例代码: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Map; public class JsonToMapExample { public static void main(String[] args) { String json = "{\"key1\":{\"innerKey1\":\"value1\",\"innerKey2\":\"value2\"},\"key2\":{\"innerKey3\":\"value3\",\"innerKey4\":\"value4\"}}"; try { ObjectMapper objectMapper = new ObjectMapper(); Map<String, Map<String, String>> resultMap = objectMapper.readValue(json, Map.class); // 输出换后的结果 for (Map.Entry<String, Map<String, String>> entry : resultMap.entrySet()) { System.out.println("Key: " + entry.getKey()); Map<String, String> innerMap = entry.getValue(); for (Map.Entry<String, String> innerEntry : innerMap.entrySet()) { System.out.println("Inner Key: " + innerEntry.getKey() + ", Inner Value: " + innerEntry.getValue()); } } } catch (Exception e) { e.printStackTrace(); } } } ``` 将JSON格式换为Map<String, String>的步骤如下: 1. 同样,将JSON字符串解析为一个JSON对象。 2. 遍历JSON对象的键对,将键作为Map的键,作为Map。 3. 将键对添加到Map中。 以下是一个示例代码: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Map; public class JsonToMapExample { public static void main(String[] args) { String json = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; try { ObjectMapper objectMapper = new ObjectMapper(); Map<String, String> resultMap = objectMapper.readValue(json, Map.class); // 输出换后的结果 for (Map.Entry<String, String> entry : resultMap.entrySet()) { System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); } } catch (Exception e) { e.printStackTrace(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值