本文目錄一覽:
- 1、求asp編輯JSON數據文件的類源碼
- 2、C++ JsonCpp如何獲取數據
- 3、用java生成json文件,怎麼編寫?
- 4、js 解析json數據填充到html里,求源碼~~
- 5、有哪些 C++ 的 JSON 庫比較好
- 6、ThinkPHP 生成下面格式json!求大俠給源碼!
求asp編輯JSON數據文件的類源碼
asp支持jscript 所以js寫的代碼在asp里大部分都能運行
%’默認vbscript,可以用jscript定義的函數變量
str=”{}”‘假設你把文件讀出來了,讀文件很簡單的
set obj=evalJs(“(“+str+”)”)’解析json
addJs obj,”value”,”abcd”‘添加內容
addJs obj,”value”,true’修改value=true
evalJs “obj.obj={key1:true,key2:[]}”‘添加對象 強大的asp多語言支持
delete obj.obj,”key1″‘刪除key1
evalJs(“delete obj.obj”)’刪除obj
delete obj,”value”‘刪除value
str=JSON.stringify(obj)’生成json串,這裡的JSON.stringify是從json官網下的json2.js文件中的方法,把json2.js下過來把代碼插到下面。
‘json2.js下載地址底下 javascript json2.js
‘….保存str到文件,很簡單的
%
script runat=”server” language=”jscript”//服務器運行jscript,代碼無論放哪裡都比默認vbscript%%內腳本先執行,如果language=”vbscript”就在%%內腳本後執行
//下載的json2.js代碼插到這裡
function evalJs(json){//轉換對象
return eval(json);
}
function addJs(obj,key,value){//添加修改
obj[key]=value;
}
function delJs(obj,key){//刪除
delete obj[key];
}
/script
C++ JsonCpp如何獲取數據
JSON是一個輕量級的數據定義格式,比起XML易學易用,而擴展功能不比XML差多少,用之進行數據交換是一個很好的選擇
JSON的全稱為:JavaScript Object Notation ,顧名思義,JSON是用於標記javascript對象的,詳情參考
。
選擇第三方庫JsonCpp來解析json,JsonCpp是比較出名的c++解析庫,在json官網也是首推的。
JsonCpp簡介
JsonCpp主要包含三種類型的class:Value Reader Writer。
jsoncpp中所有對象、類名都在namespace json中,包含json.h即可。
注意: Json::Value只能處理ANSI類型的字符串,如果C++程序使用Unicode編碼的,最好加一個Adapt類來適配。
下載和編譯
本文運行環境是: Redhat 5.5 + g++version 4.6.1 + GNU Make 3.81 + jsoncpp-0.5.0
下載地址是:
解壓之後得到jsoncpp-src-0.5.0文件夾,我們只需要jsoncpp的頭文件和cpp文件,其中jsonscpp的頭文件位於jsoncpp-src-0.5.0includejson,jsoncpp的cpp文件位於jsoncpp-src-0.5.0srclib_json。
這裡我列出我們的工作目錄:
jsoncpp/ //工作目錄
|– include //頭文件根目錄
| |– json //json頭文件,對應jsoncpp-src-0.5.0includejson
|– src //cpp源碼文件根目錄
|– json //jsoncpp源碼文件,對應jsoncpp-src-0.5.0srclib_json
|– main.cpp //我們的主函數,調用jsoncpp的示例代碼
|– makefile //makefile,不用我們多說了吧,不懂請看我博客的makefile最佳實踐
反序列化Json對象
假設有一個json對象如下:
{ “name”: “json″, “array”: [ { “cpp”: “jsoncpp” }, { “java”: “jsoninjava” }, { ”php”: “support” } ] }
我們要實現這個json的反序列號代碼如下:
voidreadJson() { usingnamespacestd; std::stringstrValue = “{\”name\”:\”json\”,\”array\”:[{\”cpp\”:\”jsoncpp\”},{\”java\”:\”jsoninjava\”},{\”php\”:\”support\”}]}”; Json::Reader reader; Json::Value value; if(reader.parse(strValue, value)) { std::stringout= value[“name”].asString(); std::cout outstd::endl; constJson::Value arrayObj = value[“array”]; for(unsigned inti = 0;i arrayObj.size(); i++) { if(!arrayObj[i].isMember(“cpp”)) continue; out= arrayObj[i][“cpp”].asString(); std::cout out; if(i != (arrayObj.size() – 1)) std::cout std::endl; } } }
序列化Json對象
voidwriteJson() { usingnamespacestd; Json::Value root; Json::Value arrayObj; Json::Value item; item[“cpp”] = “jsoncpp”; item[“java”] = “jsoninjava”; item[“php”] = “support”; arrayObj.append(item); root[“name”] = “json”; root[“array”] = arrayObj; root.toStyledString(); std::stringout= root.toStyledString(); std::cout outstd::endl; }
用java生成json文件,怎麼編寫?
直接調用類庫里的屬性和方法就行,沒必要自己寫啊!你說的源碼是什麼意思?
你這個json格式本身就有問題,不符合標準。
js 解析json數據填充到html里,求源碼~~
ul
li id=”li”數據填充到這裡就行了/li
/ul
var nearInfo=[{“retmsg”: “success”,”id“:100,”name”: “中山公園”},
{“retmsg”: “success”,”id“:100,”name”: “中山公園”}];
// json轉對象
var result = $.parseJSON(nearInfo);
for(var i=0;iresult.length;i++){
$(‘#li’).html(result[i].name);
}
這裡只填了個name , 你看懂了,其他就好說了
有哪些 C++ 的 JSON 庫比較好
我現在用的是cJSON這個JSON庫,在github上可以下載到,是開源的,Windows和Linux系統開發都可以用。而且是最輕量級的JSON庫,下載下來之後再解壓,只需要將裡面的cJSON.c和cJSON.h這兩個文件複製到你的項目(源碼)目錄就可以了(需要調用cJSON的那個代碼文件要加上一句#include “cJSON.h”)。使用起來也超簡單,通過閱讀cJSON.h中的函數注釋和github上面的說明你就會知道怎麼用。
ThinkPHP 生成下面格式json!求大俠給源碼!
$a = mysql_query(“select * from 表”);
json_encode($a);
//輸出看看
print_r($a);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279009.html