title: Convert json string without quotes into a map
body: <p>I have a string that is in Json format, only none of the keys or values are surrounded by quotes.  For example, I have this:</p>
  
  <pre><code>String json = "{name: Bob, state: Colorado, Friends: [{ name: Dan, age: 23 }, {name: Zane, age: 24 }]}"
  </code></pre>
  
  <p>I want this to become a map that looks like so:</p>
  
  <pre><code>Map&lt;String, Object&gt; friend1Map = new HashMap&lt;&gt;();
  friend1Map.put("name", "Dan");
  friend1Map.put("age", 23);
  
  Map&lt;String, Object&gt; friend2Map = new Hashmap&lt;&gt;();
  friend2Map.put("name", "Zane");
  friend2Map.put("age", 24);
  
  Map&lt;String, Object&gt; newMap = new HashMap&lt;&gt;();
  newMap.put("name", "Bob");
  newMap.put("state", "Colorado");
  newMap.put("Friends", Arrays.asList(friend1Map, friend2Map));
  </code></pre>
  
  <p>I have tried the following two methods:</p>
  
  <pre><code>ObjectMapper mapper = new ObjectMapper();
  mapper.readValue(json, new TypeReference&lt;Map&lt;String, Object&gt;&gt;() {});
  </code></pre>
  
  <p>This will throw an error, saying:</p>
  
  <pre><code>Unexpected character ('n'): was expecting double-quote to start field name
  </code></pre>
  
  <p>Then I tried changing the config of mapper:</p>
  
  <pre><code>mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
  mapper.readValue(json, new TypeReference&lt;Map&lt;String, Object&gt;&gt;() {});
  </code></pre>
  
  <p>But this threw an error saying:</p>
  
  <pre><code>com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Bob': was expecting ('true', 'false' or 'null')
  at [Source: {name: Bob, state: Colorado, Friends: [{ name: Dan, age: 23 }, {name: Zane, age: 24 }]}; line: 1, column: 11]
  </code></pre>
  
  <p>Is there a way of getting this Map when quotes aren't included in the json string?</p>