javascriptの型の変換について質問です。
以下のような文字列型のデータを辞書型を含んだリスト型に変換することはできますでしょうか?
よろしくお願いします。
test="[[{"id":100,"value":250,"unit":"string","date":"2021/6/4 17:00"}],[{"id":101,"value":250,"unit":"string","date":"2021/6/4 17:30"}]]"
下記がデータの送信側のコードです。
python
1import json 2import sys 3import pymysql 4 5db_host="*****" 6name="*****" 7password="*****" 8db_name="*****" 9table="*****" 10 11try: 12 conn = pymysql.connect(host=db_host, user=name, passwd=password, db=db_name, connect_timeout=25,cursorclass=pymysql.cursors.DictCursor) 13except: 14 sys.exit() 15 16def lambda_handler(event, context): 17 cur=conn.cursor() 18 cur.execute("SELECT MAX(date),id FROM {} GROUP BY id;".format(table)) 19 results=cur.fetchall() 20 AllDatas=[] 21 for i in results: 22 ID=i["id"] 23 Datetime=i["MAX(date)"] 24 cur.execute("""SELECT id,date,value,unit FROM {} WHERE id="{}" AND date="{}";""".format(table,ID,Datetime)) 25 result=cur.fetchall() 26 result[0]["date"]=str(result[0]["date"]) 27 AllDatas.append(result[0]) 28 response={ 29 "statusCode":200, 30 "body":json.dumps(AllDatas), 31 "headers":{ 32 "Access-Control-Allow-Origin":"*" 33 } 34 } 35 return response 36 cur.close() 37 conn.close()
「辞書型」とは何でしょう。JavaScriptには無い概念ですので、具体的に得たいデータを例示してください。
すいません。
https://www.sejuku.net/blog/27965
こちらの連想配列という型です。
それは「key:value形式のオブジェクト」というのが正しいかと。
文字列内に含まれている `datetime.datetime` というのはjavascriptの関数ですか?
単純なkey-value型の文字列であれば JSON.parse を使用して下記のように
JSON.parse('[[{"A":100,"B":250,"C":"2021,6,4,17,00"}]]')
// [[{A: 100, B: 250, C: "2021,6,4,17,00"}]]
と変換できますが、関数を含む文字列の場合、evalなどのバッドパーツ(推奨されない記法)を利用する必要があります。
JavaScriptに「連想配列」はありません。その講師が誤って記憶しているか、他の言語の概念を借用してそう呼んでいるだけで、それは「オブジェクト」です。
【標準組込みオブジェクト - JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects
また、例示されているものはエラーが出ますが、何らかの言語の出力前のコードではないでしょうか。
実際に出力されたデータを提示されたほうが良いです。(「"」がエスケープされていないのでエラーになる)
すいません。
オブジェクトでした。
jsonのようだったのでJSON.parseを使用してみたのですが、typeofを使用したところstringと表示されてしまいます。
> jsonのようだったので
似てはいますがそもそもエラーが出るのでJavaScriptで扱う以前の問題です。引用符がまず間違っています。あと「datetime.datetime(2021,6,4,17,00)」はJSONでは許容されません。文字列にする必要があります。
どうやってそのデータを取得して、どうやって使いたいのでしょう。
コード全体提示されたほうが良いかと。
なんの言語かわからない定義部分のコードだけでは限界があります。
すいません。
データが送られてくる元のコードを追記しました。
javascriptでajax通信を行い、リストの形で表示したいと考えています。
回答2件
あなたの回答
tips
プレビュー