導航:首頁 > 編程語言 > double轉換json

double轉換json

發布時間:2023-09-14 10:59:50

1. mysql中的json數據類型

JSON數組包含一個由逗號分隔的值列表,並包含在 字元[和]字元中:

JSON對象包含一組由逗號分隔的鍵值對,並包含在字元{和 }字元中,JSON對象中的鍵必須是字元串:

在JSON數組元素和JSON對象鍵值中允許嵌套:

在MySQL中,JSON值被寫為字元串。MySQL解析在需要JSON值的上下文中使用的任何字元串,如果它作為JSON無效則會產生錯誤。

1.JSON_ARRAY 生成json數組
JSON_ARRAY(val1,val2,val3...)生成一個包含指定元素的json數組。

2.JSON_OBJECT 生成json對象
JSON_OBJECT(key1,val1,key2,val2...) 生成一個包含指定K-V對的json object。如果有key為NULL或參數個數為奇數,則拋錯。

3.JSON_QUOTE 加"號
JSON_QUOTE(json_val) -- 將json_val用"號括起來。

2.插入記錄
創建一個表

插入含有json數組的記錄

插入含有json對象的記錄

路徑表達式對於提取JSON文檔的一部分或修改JSON文檔的函數很有用,以指定該文檔中的操作位置。例如,以下查詢從JSON文檔中提取具有 name 鍵的成員的值 :

路徑語法使用前導 $ 字元來表示正在考慮的JSON文檔,可選地後跟選擇器,它們連續指示文檔的更多特定部分:

如果路徑表達式中的未加引號的鍵名稱不合法,則必須引用命名鍵的路徑組件。讓我們 $ 參考這個值,且密鑰都包含空格,必須引用:

可以使用帶有 to 關鍵字的范圍來指定JSON數組的子集。

last關鍵字被支撐為最後一個元素的陣列中的索引的同義詞。表單的表達式可用於相對定址,也可用於范圍定義,如下所示: last - * N *

4.JSON_REMOVE()獲取JSON文檔和一個或多個指定要從文檔中刪除的值的路徑。返回值是原始文檔減去文檔中存在的路徑選擇的值

JSON值可以使用進行比較 =、<、<=、>、>=、<>、!=、<=>
JSON值尚不支持以下比較運算符和函數:BETWEEN、IN()、GREATEST()、LEAST()
以上列出的比較運算符和函數是通過將JSON值轉換為本機MySQL數值或字元串數​​據類型,使它們具有一致的非JSON標量類型。
JSON值的比較發生在兩個級別。第一級比較基於比較值的JSON類型。如果類型不同,則比較結果僅由哪種類型具有更高優先順序來確定。如果這兩個值具有相同的JSON類型,則使用特定於類型的規則進行第二級比較。

NULL->INTEGER, DOUBLE->STRING->OBJECT->ARRAY->BOOLEAN->DATE->TIME->DATETIME->OPAQUE->BIT->BLOB按此順序優先順序依次變大。

對於具有相同優先順序的JSON值,比較規則是特定於類型的:
1) BLOB、BIT、OPAQUE
比較兩個值 的第一個位元組,其中N是較短值中的位元組數。如果N兩個值的第一個位元組相同,則在較長值之前排序較短的值。
2) DATETIME
表示較早時間點的值在表示稍後時間點的值之前排序。如果兩個值最初 分別來自MySQL DATETIME 和 TIMESTAMP 類型,則它們相等,如果它們代表相同的時間點。
3)TIME
兩個時間值中較小的一個在較大的值之前排序。
4) DATE`
較早的日期是在最近的日期之前訂購的。
5) ARRAY
如果兩個JSON數組具有相同的長度並且數組中相應位置的值相等,則它們是相等的。如果數組不相等,則它們的順序由第一個位置中存在差異的元素確定。首先排序在該位置具有較小值的數組。如果較短數組的所有值都等於較長數組中的相應值,則首先排序較短的數組。

8) STRING
字元串在被比較的兩個字元串以詞法字典序排序 ,其中 N 是較短字元串的長度。如果 N 兩個字元串的第一個 位元組相同,則認為較短的字元串小於較長的字元串。

2. swift里 怎麼把字典或者數組轉json字元串

自己解決了,和OC寫法差不多;
利用NSJSONSerialization序列化成NSData,再通過NSString 轉成JSON字元串
func toJSONString(dict:NSDictionary!)->NSString{
var data = NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.PrettyPrinted, error: nil)
var strJson=NSString(data: data, encoding: NSUTF8StringEncoding)
return strJson
}

3. Float,Double轉換為JSON後精度丟失和小數位數為.0時被忽略

對接方要求數據類型為Float,然而我們數據類型為Integer,只能在後邊加上.0,轉換JSON格式後.0被忽略了,然後又要求不能為String,只能改用BigDecimal

解決方案1:改用String類型
解決方案2: 改用BigDecimal

4. IOS 數組可以轉成json嗎

IOS數組可以轉換車json對象,轉換代碼
NSString *str = nil;
//字元串
NSMutableString *string = [[NSMutableString alloc] init];
[string appendString:@"xxxx"];
str = [string JSONString];
NSLog(@"str1:%@",[NSString stringWithString:str]);

//數組
NSArray *array = [[NSArray alloc] initWithObjects:@"111",@"333",@"222", nil];
// NSMutableArray *array = [NSMutableArray array];
str = [array JSONString];
NSLog(@"str2:%@",[NSString stringWithString:str]);
[array release ];

//字典
NSArray *firstArr = [NSArray arrayWithObjects:@"first",@"second", nil];
//基本數據類型轉換成NSNumber類型
NSArray *secondArr = [NSArray arrayWithObjects:[NSNumber numberWithDouble:2.1],[NSNumber numberWithBool:NO], nil];
//加到字典中
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:firstArr,@"first",secondArr,@"second", nil];
//轉化成json格式
str = [dic JSONString];
NSString *str2 = [NSString stringWithString:str];
NSLog(@"str3:%@",str2);

//編碼
NSData *archive = [NSKeyedArchiver archivedDataWithRootObject:array];
// NSLog(@"archive:%@",archive);
NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:archive];
NSLog(@"arr2:%@",arr2);

5. 字元串轉json double類型數值

這是java的問題,如果數據是從資料庫查詢出來的,就需要手動設置一下精度

具體參考:http://blog.163.com/liucy_18/blog/static/5319290620096224958251/

另外實在不行,就轉為string類型吧

還有就是資料庫的欄位最好是確定小數點後的位數

閱讀全文

與double轉換json相關的資料

熱點內容
數據計算屬於什麼統計學 瀏覽:921
07word怎麼去掉標記 瀏覽:979
qq緩存的數據是什麼 瀏覽:348
LED主Kv文件多少兆 瀏覽:856
蘋果edge怎麼刪除下載文件 瀏覽:471
sas邏輯回歸代碼 瀏覽:572
用於keil下的stc器件資料庫 瀏覽:400
新聞網站後台如何操作前台 瀏覽:539
在剪映app中怎麼查看視頻尺寸 瀏覽:9
linux文件成分包括 瀏覽:886
文件轉換免費的軟體 瀏覽:644
linuxwpsxlsx 瀏覽:482
小米手機怎麼上移動網路連接失敗怎麼辦 瀏覽:598
win10系統打開java 瀏覽:479
全日制編程什麼意思 瀏覽:447
筆記本創建區域網怎麼傳文件 瀏覽:871
怎樣查看id密碼 瀏覽:647
贛州極客晨星少兒編程怎麼樣 瀏覽:690
覺醒年代哪個app可以免費觀看 瀏覽:830
如何關閉win10觸摸屏幕 瀏覽:761

友情鏈接