日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

竟然還能這樣高效地操作 JSON 對象!

來源: 責編: 時間:2024-05-16 09:09:53 221觀看
導讀什么是 JSON PointerJSON Pointer[1] 是一種用于定位 JSON(JavaScript Object Notation)文檔中特定值的簡單而強大的方法。它通過使用斜杠 / 分隔符來指示 JSON 對象的層級結構,以確切地標識所需值的位置。為什么使用 JS

什么是 JSON Pointer

JSON Pointer[1] 是一種用于定位 JSON(JavaScript Object Notation)文檔中特定值的簡單而強大的方法。它通過使用斜杠 / 分隔符來指示 JSON 對象的層級結構,以確切地標識所需值的位置。1tu28資訊網——每日最新資訊28at.com

為什么使用 JSON Pointer

當處理大型或復雜的 JSON 數據結構時,定位特定值可能會變得非常麻煩。使用 JSON Pointer 可以讓你以一種簡單而準確的方式指定所需值的位置,而不需要編寫復雜的代碼來遍歷整個 JSON 結構。這極大地簡化了 JSON 數據的定位和操作過程。1tu28資訊網——每日最新資訊28at.com

此外,JSON Pointer 還具有以下優點:1tu28資訊網——每日最新資訊28at.com

  • 通用性:JSON Pointer 是一種通用的標準,因此可以在各種編程語言和平臺上使用。這種通用性使得 JSON Pointer 成為跨平臺開發和數據交換的理想選擇。
  • 效率:由于 JSON Pointer 可以直接定位到所需值,因此它在處理大型 JSON 數據時效率很高。相比于傳統的逐層遍歷搜索方式,JSON Pointer 能夠更快速地找到目標值。
  • 簡單易懂:JSON Pointer 使用類似文件路徑的語法,因此非常直觀和易于理解。它的語法簡潔清晰,使得使用者可以輕松地理解和使用它。
  • 精確定位:JSON Pointer 允許你以非常準確的方式指定 JSON 對象中的值,而無需關心其周圍的結構。這意味著你可以專注于所需值的確切位置,而不必擔心其他內容。

如何使用 JSON Pointer

很多常見的開發語言,都實現了 JSON Pointer 規范。在 Node.js 環境,我們可以使用 jsonpointer[2] 這個庫。1tu28資訊網——每日最新資訊28at.com

首先,使用 npm 或 pnpm 來安裝 jsonpointer:1tu28資訊網——每日最新資訊28at.com

npm install jsonpointeror pnpm add jsonpointer

成功安裝 jsonpointer 庫之后,我們就可以利用它提供的 API 來快速的定位和操作 JSON 對象。1tu28資訊網——每日最新資訊28at.com

1.獲取指定路徑的屬性值

JSON Pointer 使用斜杠 / 分隔符來指示 JSON 對象的層級結構,如果指定的路徑不存在,則會返回 undefined。1tu28資訊網——每日最新資訊28at.com

const jsonpointer = require("jsonpointer");let obj = {  foo: 1,  bar: { baz: 2 },  qux: [3, 4, 5],  zoo: {    e: [{ a: 3 }, { b: 4 }, { c: 5 }],  },};jsonpointer.get(obj, "/foo"); // returns 1jsonpointer.get(obj, "/bar/baz"); // returns 2jsonpointer.get(obj, "/quo"); // returns undefined

2.獲取數組對象指定位置的值

若要訪問指定位置的數組元素,則需要在 / 分隔符后面添加該元素的索引。1tu28資訊網——每日最新資訊28at.com

jsonpointer.get(obj, "/qux/0"); // returns 3jsonpointer.get(obj, "/qux/1"); // returns 4jsonpointer.get(obj, "/qux/2"); // returns 5

如果數組元素也是對象的話,我們只需按照屬性的層級結構進行訪問路徑即可。1tu28資訊網——每日最新資訊28at.com

jsonpointer.get(obj, "/zoo/e/0/a"); // returns 3jsonpointer.get(obj, "/zoo/e/1/b"); // returns 4jsonpointer.get(obj, "/zoo/e/2/c"); // returns 5

除了,獲取 JSON 對象的值之外,通過使用 jsonpointer 這個庫提供的 set 方法,我們也可以設置指定路徑的值。1tu28資訊網——每日最新資訊28at.com

3.設置指定路徑的屬性值

JSON Pointer 提供了一種往數組中插入新元素的便捷語法,即在 / 路徑后添加 - 符號:1tu28資訊網——每日最新資訊28at.com

// sets obj.foo = 6;jsonpointer.set(obj, "/foo", 6); // sets obj.qux = [3, 4, 5, 6]jsonpointer.set(obj, "/qux/-", 6); // set zoo.e = [{"a":3},{"b":4},{"c":5},{"d":6}]jsonpointer.set(obj, "/zoo/e/-", { d: 6 });

除了上面介紹的 set 和 get 方法之外,jsonpointer 這個庫還提供了一個 compile 方法,該方法會返回一個新的 JSON Pointer 對象,讓我們更方便地訪問 JSON 對象特定路徑的屬性。1tu28資訊網——每日最新資訊28at.com

const pointer = jsonpointer.compile("/foo");pointer.get(obj); // returns 6pointer.set(obj, 1); // sets obj.foo = 1

JSON Pointer 在 LangchainJS 中的應用

在 LangchainJS 的 JSONLoader[3] 中,也用到了 jsonpointer 這個庫。使用該庫的主要目的是為了能快速從 JSON 對象中,提取用戶想要的數據。1tu28資訊網——每日最新資訊28at.com

使用示例

example.json1tu28資訊網——每日最新資訊28at.com

{  "1": {    "body": "BD 2023 SUMMER",    "from": "LinkedIn Job",    "labels": ["IMPORTANT", "CATEGORY_UPDATES", "INBOX"]  },  "2": {    "body": "Intern, Treasury and other roles are available",    "from": "LinkedIn Job2",    "labels": ["IMPORTANT"],    "other": {      "name": "plop",      "surname": "bob"    }  }}

JSONLoader1tu28資訊網——每日最新資訊28at.com

export declare class JSONLoader extends TextLoader {    pointers: string[];    constructor(filePathOrBlob: string | Blob, pointers?: string | string[]);}

假設我們只想要提取 from 和 surname 的信息:1tu28資訊網——每日最新資訊28at.com

import { JSONLoader } from "langchain/document_loaders/fs/json";const loader = new JSONLoader(  "src/document_loaders/example_data/example.json",  ["/from", "/surname"]);const docs = await loader.load();

通過設置 pointers 參數的值為 ["/from", "/surname"],我們就實現了快速提取 JSON 對象中想要的數據。1tu28資訊網——每日最新資訊28at.com

[  Document {    pageContent: 'LinkedIn Job',    metadata: { source: './src/json/example.json', line: 1 }  },  Document {    pageContent: 'LinkedIn Job2',    metadata: { source: './src/json/example.json', line: 2 }  },  Document {    pageContent: 'bob',    metadata: { source: './src/json/example.json', line: 3 }  }]

參考資料

[1]JSON Pointer: https://datatracker.ietf.org/doc/html/rfc69011tu28資訊網——每日最新資訊28at.com

[2]jsonpointer: https://www.npmjs.com/package/jsonpointer1tu28資訊網——每日最新資訊28at.com

[3]JSONLoader: https://js.langchain.com/docs/modules/data_connection/document_loaders/json1tu28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-88384-0.html竟然還能這樣高效地操作 JSON 對象!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 分布式延時消息的另外一種選擇 Redisson

下一篇: C#中的“_ =”操作符:丟棄不需要的變量

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數量是否小于或等于一個數字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯網企業調整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業發布的ESG報告。ESG是“環境保
  • 華為Mate 60系列用上可變靈動島:正式版體驗將會更出色

    這段時間以來,關于華為新旗艦的爆料日漸密集。據此前多方爆料,今年華為將開始恢復一年雙旗艦戰略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 聯想的ThinkBook Plus下一版曝光,鍵盤旁邊塞個平板

    ThinkBook Plus 是聯想的一個特殊筆記本類別,它在封面放入了一塊墨水屏,也給人留下了較為深刻的印象。據有人爆料,聯想的下一款 ThinkBook Plus 可能更特殊,它
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
午夜精品福利电影| 亚洲美女在线观看| 国产精品免费看久久久香蕉| 国产精品夜夜夜一区二区三区尤| 国产欧美另类| 亚洲国产第一| 欧美日韩大片| 国产精品乱子乱xxxx| 黄网站免费久久| 日韩亚洲一区二区| 午夜精品成人在线视频| 久久精品免费看| 欧美日产在线观看| 国产日韩欧美在线视频观看| 亚洲高清一二三区| 一区二区欧美激情| 久久久久久网| 欧美午夜影院| 在线观看亚洲视频啊啊啊啊| 一区二区三区日韩欧美| 久久精品视频播放| 欧美日韩国产区| 国户精品久久久久久久久久久不卡| 亚洲三级性片| 欧美在线视频免费观看| 欧美精品亚洲精品| 国产一区二区三区在线播放免费观看| 亚洲三级电影在线观看| 欧美自拍偷拍午夜视频| 欧美日韩另类在线| 黄色在线一区| 亚洲欧美激情一区| 欧美国产专区| 国产综合久久久久久鬼色| 一本色道久久88精品综合| 老牛嫩草一区二区三区日本| 国产精品推荐精品| 亚洲精品久久久久| 久久精品国产亚洲高清剧情介绍| 欧美久久视频| 在线观看欧美视频| 欧美一区二区在线| 国产精品v欧美精品v日韩| 亚洲国产美女久久久久| 欧美一区二区在线免费观看| 欧美日韩精选| 亚洲第一精品夜夜躁人人躁| 性欧美1819性猛交| 欧美亚洲成人免费| 日韩视频不卡中文| 麻豆国产精品777777在线| 国产视频在线观看一区| 亚洲一区二区三区欧美| 欧美伦理视频网站| 亚洲二区在线视频| 久久精品国产亚洲a| 国产免费观看久久黄| 亚洲性图久久| 欧美日韩综合视频网址| 亚洲精品日韩在线| 米奇777在线欧美播放| 国内外成人免费激情在线视频网站 | 久久精品成人一区二区三区蜜臀| 国产精品免费看片| 中文一区二区| 欧美日韩国产成人| 亚洲精品欧洲精品| 欧美电影美腿模特1979在线看| 黄色免费成人| 久久蜜桃香蕉精品一区二区三区| 国产日韩欧美不卡在线| 亚洲欧美中文字幕| 国产精品亚洲一区| 亚洲欧美日韩国产综合| 国产精品免费福利| 亚洲欧美国产精品专区久久| 国产精品女人网站| 亚洲欧美日韩人成在线播放| 国产精品久久久久久久久久久久久 | 国产欧美日韩一区| 亚洲欧美日韩国产综合精品二区| 国产精品qvod| 亚洲综合第一| 国产噜噜噜噜噜久久久久久久久 | 亚洲天堂久久| 国产精品女人久久久久久| 亚洲欧美欧美一区二区三区| 国产精品免费久久久久久| 亚洲免费在线看| 国产日产亚洲精品| 久久狠狠一本精品综合网| 国产一区二区三区在线观看精品| 久久久精品视频成人| 一区二区三区在线看| 老司机aⅴ在线精品导航| 亚洲黄色在线看| 欧美人与性动交a欧美精品| 一区二区三区高清| 国产精品视频男人的天堂| 欧美在线网址| 亚洲成人资源网| 欧美精品在线一区二区| 亚洲特级片在线| 国产美女一区| 麻豆91精品91久久久的内涵| 揄拍成人国产精品视频| 欧美激情精品久久久久久大尺度 | 免费日韩一区二区| 亚洲精品在线观| 国产精品高潮在线| 欧美一区视频在线| 在线精品高清中文字幕| 欧美人与禽性xxxxx杂性| 亚洲一区亚洲二区| 国产综合色精品一区二区三区| 免费的成人av| 国产精品99久久久久久有的能看| 国产乱理伦片在线观看夜一区| 久久久人成影片一区二区三区| 亚洲欧洲一区二区天堂久久| 国产精品久久久久久久久久妞妞| 久久精品99久久香蕉国产色戒| 亚洲国产婷婷| 国产精品久久久久久五月尺| 久久三级视频| 亚洲性图久久| 又紧又大又爽精品一区二区| 欧美日韩国产电影| 欧美在线视频免费播放| 亚洲区免费影片| 国产精品在线看| 久久中文精品| 亚洲一区二区在线看| 在线观看视频一区| 国产精品v欧美精品∨日韩| 久久精品色图| 亚洲深夜福利视频| 又紧又大又爽精品一区二区| 欧美日韩亚洲不卡| 久久视频在线看| 亚洲一区二区三区四区视频| 在线欧美三区| 国产精品久久国产愉拍| 蜜臀av国产精品久久久久| 亚洲欧美春色| 亚洲精品资源| 国产综合久久| 欧美午夜欧美| 欧美xxx成人| 欧美一区二区三区四区视频| 亚洲精品乱码久久久久久蜜桃91 | 欧美在线免费观看视频| 一本色道久久| 亚洲第一天堂av| 国产欧美精品va在线观看| 女人香蕉久久**毛片精品| 在线成人中文字幕| 欧美连裤袜在线视频| 欧美一区二区三区在线免费观看 | 国产精品人人爽人人做我的可爱 | 农村妇女精品| 欧美一区视频| 中日韩视频在线观看| 亚洲成人在线观看视频| 国产午夜久久久久| 欧美亚洲第一区| 欧美精品二区| 老司机午夜精品视频在线观看| 亚洲欧美一区二区三区极速播放 | 麻豆乱码国产一区二区三区| 欧美制服丝袜| 亚洲婷婷在线| 夜夜嗨av色一区二区不卡| 黄色成人精品网站| 国产一区二区av| 国产精品一区二区在线| 欧美香蕉大胸在线视频观看| 欧美大片91| 免费高清在线一区| 久久久久久久久久久久久久一区 | 亚洲国产欧美一区二区三区同亚洲 | 久久一区二区三区四区五区| 欧美一级理论性理论a| 亚洲一级一区| 一区二区三区久久| 亚洲精品久久视频| 亚洲欧洲视频在线| 亚洲国产激情| 亚洲福利电影| 亚洲国产成人高清精品| 尤物视频一区二区| 在线看一区二区| 一区二区在线观看视频在线观看| 国产一区二区三区四区| 国产一区二区三区在线观看视频| 国产农村妇女毛片精品久久莱园子| 国产精品久久久久久久午夜片| 欧美三级免费| 国产精品成人在线观看| 国产精品theporn| 国产精品久久久久久久一区探花| 国产精品国产馆在线真实露脸 | 欧美日韩精品伦理作品在线免费观看| 欧美激情一区二区三区蜜桃视频|