fix get() for embedded zeroes in key

This method had been overlooked.
diff --git a/include/json/value.h b/include/json/value.h
index 443f446..cf9703b 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -404,15 +404,19 @@
   const Value& operator[](const CppTL::ConstString& key) const;
 #endif
   /// Return the member named key if it exist, defaultValue otherwise.
+  /// \note deep copy
   Value get(const char* key, const Value& defaultValue) const;
   /// Return the member named key if it exist, defaultValue otherwise.
+  /// \note deep copy
   /// \param key may contain embedded nulls.
   Value get(const char* key, const char* end, const Value& defaultValue) const;
   /// Return the member named key if it exist, defaultValue otherwise.
+  /// \note deep copy
   /// \param key may contain embedded nulls.
   Value get(const std::string& key, const Value& defaultValue) const;
 #ifdef JSON_USE_CPPTL
   /// Return the member named key if it exist, defaultValue otherwise.
+  /// \note deep copy
   Value get(const CppTL::ConstString& key, const Value& defaultValue) const;
 #endif
   /// Most general and efficient version of isMember()const, get()const,
diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index cefd05e..6d68002 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -1028,8 +1028,8 @@
 
 Value Value::get(char const* key, char const* end, Value const& defaultValue) const
 {
-  const Value* value = &((*this)[key]);
-  return value == &nullRef ? defaultValue : *value;
+  Value const* found = find(key, end);
+  return !found ? defaultValue : *found;
 }
 Value Value::get(char const* key, Value const& defaultValue) const
 {
@@ -1104,7 +1104,7 @@
 #ifdef JSON_USE_CPPTL
 Value Value::get(const CppTL::ConstString& key,
                  const Value& defaultValue) const {
-  return get(key.c_str(), defaultValue);
+  return get(key.c_str(), key.end_c_str(), defaultValue);
 }
 #endif