content: package org.json;
  
  /*
  Public Domain.
  */
  
  import java.util.Enumeration;
  import java.util.Properties;
  
  /**
   * Converts a Property file data into JSONObject and back.
   * @author JSON.org
   * @version 2015-05-05
   */
  public class Property {
  
      /**
       * Constructs a new Property object.
       */
      public Property() {
      }
  
      /**
       * Converts a property file object into a JSONObject. The property file object is a table of name value pairs.
       * @param properties java.util.Properties
       * @return JSONObject
       * @throws JSONException if a called function has an error
       */
      public static JSONObject toJSONObject(java.util.Properties properties) throws JSONException {
          // can't use the new constructor for Android support
          // JSONObject jo = new JSONObject(properties == null ? 0 : properties.size());
          JSONObject jo = new JSONObject();
          if (properties != null && !properties.isEmpty()) {
              Enumeration<?> enumProperties = properties.propertyNames();
              while(enumProperties.hasMoreElements()) {
                  String name = (String)enumProperties.nextElement();
                  jo.put(name, properties.getProperty(name));
              }
          }
          return jo;
      }
  
      /**
       * Converts the JSONObject into a property file object.
       * @param jo JSONObject
       * @return java.util.Properties
       * @throws JSONException if a called function has an error
       */
      public static Properties toProperties(JSONObject jo)  throws JSONException {
          Properties  properties = new Properties();
          if (jo != null) {
          	// Don't use the new entrySet API to maintain Android support
              for (final String key : jo.keySet()) {
                  Object value = jo.opt(key);
                  if (!JSONObject.NULL.equals(value)) {
                      properties.put(key, value.toString());
                  }
              }
          }
          return properties;
      }
  }
  