Как разделить JSON пары и сохранить в базе данных sqlite в android? - PullRequest
1 голос
/ 26 мая 2020

например, если у меня есть JSON:

{"Sugar":"sweet","salt":"salty","chilly":"hot"}

, и я хочу поместить ключ в отдельный столбец, а значение в отдельный столбец в базе данных. Как показано на изображении ниже. возможно ли это?

enter image description here

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Сначала добавьте следующую зависимость maven

<dependencies>
   <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
   </dependency>
</dependencies>

Затем

//Creating a JSONParser object
      JSONParser jsonParser = new JSONParser();
      try {
         //Parsing the contents of the JSON file
         JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("/path/to/json_file"));
         //Forming URL
         System.out.println("Contents of the JSON are: ");
         System.out.println(jsonObject.get("Sugar"));
         System.out.println(jsonObject.get("Salt"));
}

Таким образом вы можете вставить ключи в один столбец и значения в другой. Для ключа можно использовать индексы массива.

1 голос
/ 26 мая 2020

Если у вас установлено расширение json1, вы можете просто использовать возвращающую табличное значение функцию json_each() для этого. Он делает именно то, о чем вы просите, то есть генерирует одну строку для каждого элемента json с ключом в первом столбце и значением во втором столбце.

insert into mytable(ingredients, taste)
select * from json_each('{"Sugar":"sweet","salt":"salty","chilly":"hot"}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...