首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySql列中输入JSON数据类型

在MySql列中输入JSON数据类型
EN

Stack Overflow用户
提问于 2022-01-28 04:09:26
回答 2查看 65关注 0票数 0

我使用Algolia作为我站点的搜索引擎,Algolia希望'_geoloc‘属性像这样成为一个JSON对象,以便能够根据位置进行搜索:-

代码语言:javascript
复制
{
    "rahn": "e369853df766fa44e1ed0ff613f563bd",
    "_geoloc": { "lat" : 23.788117809722195 , "lng" : 86.41868225381391 }
},

但是当我用JSON导出Mysql数据库时,它的“_geoloc”属性如下所示:-

代码语言:javascript
复制
{
    "sadad": "32rf4rsdf43444rtte4e3rrt3342334",
    "_geoloc": "{ \"lat\" : 23.788117809722195 , \"lng\" : 86.41868225381391 }"
},

行信息

名称:- _geoloc

类型:-长文本

校勘:- utf8mb4_bin

属性:-无

EN

回答 2

Stack Overflow用户

发布于 2022-01-28 05:08:38

测试下一个代码:

代码语言:javascript
复制
$a_bag = "UPDATE client_storage 
          SET _geoloc = JSON_OBJECT('lat', $client_lat, 'lng', $client_long) 
          WHERE client_id = 567";

并检查保存到列中的值。

票数 0
EN

Stack Overflow用户

发布于 2022-01-30 14:51:46

因为我没有找到任何解决问题的方法,所以我做了另一种选择,即我使用Python对JSON进行这些更改,您也可以对任何类型的文件进行任何更改。下面是我的python代码:-

代码语言:javascript
复制
import json
with open('Your_file_location.json', encoding='cp850') as json_file:
    prd_json_file = json.load(json_file)
    for prd in prd_json_file:
        if(prd['_geoloc'] != ''):
            prd['_geoloc'] = json.loads(prd['_geoloc'])
        else:
            prd['_geoloc'] = { "lat": 23.378536756304715, "lng": 85.33722513906919 }
with open('Your_file_location.json','w', encoding='cp850') as json_file:
    json.dump(prd_json_file,json_file)
print('success')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70888707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档