json格式如何导入数据库?json怎样解析?

Json是一种数据格式,由于易于人的阅读和编写,易于程序解析与生产,因此被广泛使用,几乎每门开发语言都有处理JSON的API。那json格式如何导入数据库?下面来我们就来给大家讲解一下。

1、安装Nuget包:

json格式如何导入数据库?json怎样解析?.jpg

2、将json数据导入到数据库中:

1.png

//modelBuider初始化种子数据
var touristRouteJsonData = 
File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+@"/Database/touristRoutesMockData.json");
IListtouristRoutes = 
JsonConvert.DeserializeObject<ilist>(touristRouteJsonData);
modelBuider.Entity().HasData(touristRoutes);
var touristRoutePictureJsonData = 
File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) 
+ @"/Database/touristRoutePicturesMockData.json");
IListtouristRoutePictures = 
JsonConvert.DeserializeObject<ilist>(touristRoutePictureJsonData);
modelBuider.Entity().HasData(touristRoutePictures);

3、保存再次用命令行更新一下数据库数据就存在数据库中了。

json怎样解析?

一、JSON解析之传统的JSON解析

1、生成json字符串

public static String createJsonString(String key, Object value)
{
    JSONObject jsonObject = new JSONObject();
    jsonObject.put(key, value);
    return jsonObject.toString();
}

2、解析JSON字符串

分为以下三种情况,一个JavaBean,一个List数组,一个嵌套Map的List数组:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import com.android.myjson.domain.Person;
/**
* 完成对json数据的解析
*
*/
public class JsonTools
{
    public static Person getPerson(String key, String jsonString)
        {
            Person person = new Person();
            try
            {
                JSONObject jsonObject = new JSONObject(jsonString);
                JSONObject personObject = jsonObject.getJSONObject("person");
                person.setId(personObject.getInt("id"));
                person.setName(personObject.getString("name"));
                person.setAddress(personObject.getString("address"));
            }
            catch (Exception e)
            {
                // TODO: handle exception }
                return person;
            }
            public static List getPersons(String key, String jsonString)
                {
                    List list = new ArrayList();
                    try
                    {
                        JSONObject jsonObject = new JSONObject(jsonString);
                        // 返回json的数组
                        JSONArray jsonArray = jsonObject.getJSONArray(key);
                        for (int i = 0; i < jsonArray.length(); i++)
                        {
                            JSONObject jsonObject2 = jsonArray.getJSONObject(i);
                            Person person = new Person();
                            person.setId(jsonObject2.getInt("id"));
                            person.setName(jsonObject2.getString("name"));
                            person.setAddress(jsonObject2.getString("address"));
                            list.add(person);
                        }
                    }
                    catch (Exception e)
                    {
                        // TODO: handle exception }
                        return list;
                    }
                    public static List getList(String key, String jsonString)
                        {
                            List list = new ArrayList();
                            try
                            {
                                JSONObject jsonObject = new JSONObject(jsonString);
                                JSONArray jsonArray = jsonObject.getJSONArray(key);
                                for (int i = 0; i < jsonArray.length(); i++)
                                {
                                    String msg = jsonArray.getString(i);
                                    list.add(msg);
                                }
                            }
                            catch (Exception e)
                            {
                                // TODO: handle exception }
                                return list;
                            }
                            public static List > listKeyMaps(String key
                                , String jsonString)
                            {
                                List > list = new ArrayList > ();
                                try
                                {
                                    JSONObject jsonObject = new JSONObject(jsonString);
                                    JSONArray jsonArray = jsonObject.getJSONArray(key);
                                    for (int i = 0; i < jsonArray.length(); i++)
                                    {
                                        JSONObject jsonObject2 = jsonArray.getJSONObject(i);
                                        Map map = new HashMap();
                                        Iterator iterator = jsonObject2.keys();
                                        while (iterator.hasNext())
                                        {
                                            String json_key = iterator.next();
                                            Object json_value = jsonObject2.get(json_key);
                                            if (json_value == null)
                                            {
                                                json_value = "";
                                            }
                                            map.put(json_key, json_value);
                                        }
                                        list.add(map);
                                    }
                                }
                                catch (Exception e)
                                {
                                    // TODO: handle exception }
                                    return list;
                                }
                            }

二、JSON解析之GSON

1、生成JSON字符串

import com.google.gson.Gson;
public class JsonUtils
{
    public static String createJsonObject(Object obj)
    {
        Gson gson = new Gson();
        String str = gson.toJson(obj);
        return str;
    }
}

2、解析JSON

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;;
public class GsonTools
{
    public GsonTools()
        {
            // TODO Auto-generated constructor stub }
            /**
            * @param
            * @param jsonString
            * @param cls
            * @return
            */
            public static T getPerson(String jsonString, Class cls)
                {
                    T t = null;
                    try
                    {
                        Gson gson = new Gson();
                        t = gson.fromJson(jsonString, cls);
                    }
                    catch (Exception e)
                    {
                        // TODO: handle exception }
                        return t;
                    }
                    /**
                    * 使用Gson进行解析 List
                    *
                    * @param
                    * @param jsonString
                    * @param cls
                    * @return
                    */
                    public static List getPersons(String jsonString, Class cls)
                    {
                        List list = new ArrayList();
                        try
                        {
                            Gson gson = new Gson();
                            list = gson.fromJson(jsonString, new TypeToken > ()
                            {}.getType());
                        }
                        catch (Exception e)
                        {}
                        return list;
                    }
                    /**
                    * @param jsonString
                    * @return
                    */
                    public static List getList(String jsonString)
                        {
                            List list = new ArrayList();
                            try
                            {
                                Gson gson = new Gson();
                                list = gson.fromJson(jsonString, new TypeToken > ()
                                {}.getType());
                            }
                            catch (Exception e)
                            {
                                // TODO: handle exception }
                                return list;
                            }
                            public static List > listKeyMaps(String jsonString)
                            {
                                List > list = new ArrayList > ();
                                try
                                {
                                    Gson gson = new Gson();
                                    list = gson.fromJson(jsonString
                                        , new TypeToken >> ()
                                        {}.getType());
                                }
                                catch (Exception e)
                                {
                                    // TODO: handle exception }
                                    return list;
                                }
                            }

三、JSON解析之FastJSON

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class JsonTool
{
    public static T getPerson(String jsonstring, Class cls)
        {
            T t = null;
            try
            {
                t = JSON.parseObject(jsonstring, cls);
            }
            catch (Exception e)
            {
                // TODO: handle exception }
                return t;
            }
            public static List getPersonList(String jsonstring, Class cls)
                {
                    List list = new ArrayList();
                    try
                    {
                        list = JSON.parseArray(jsonstring, cls);
                    }
                    catch (Exception e)
                    {
                        // TODO: handle exception }
                        return list;
                    }
                    public static List > getPersonListMap1(
                        String jsonstring)
                    {
                        List > list = new ArrayList > ();
                        try
                        {
                            list = JSON.parseObject(jsonstring
                                , new TypeReference >> ()
                                {}.getType());
                        }
                        catch (Exception e)
                        {
                            // TODO: handle exception }
                            return list;
                        }
                    }

这就是json解析的三种方式,在这三种方式中,FastJson是效率最高的,大家可以使用,总之大家使用利用自己熟悉的方法去解析就行了!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

git客户端怎么导入git项目?git如何进行配置?

fastjson如何下载更新?fastjson怎么使用?

ajax怎么实现跨域?ajax实现跨域问题解决方案